В общем случае можно использовать любой механизм связи, который вы хотите использовать в качестве основного транспорта для пользовательского SyncProvider.
В прошлый раз, когда я сделал это, в конечном итоге у меня были оба провайдера на клиенте, потому что было слишком много управления состоянием, если провайдер назначения действительно жил вне процесса.
Это означает, что вам просто нужно написать провайдера назначения, который будет выполнять любые коммуникации WCF, которые вы захотите, как часть его реализации.