Alla fine siamo arrivati fino in fondo.
Era il nostro uso delle colonne nvarchar(max) che impediva alla replica di utilizzare i batch. Ciò che prima richiedeva 3 ore ora impiega 50 secondi semplicemente cambiando il tipo di dati.
Ecco la lezione appresa:"nvarchar(max) is a replication killer"
Grazie