Jag har inte riktigt erfarenhet av TVP än, men det finns ett trevligt diagram för prestandajämförelse vs. BULK INSERT i MSDN här .
De säger att BULK INSERT har högre startkostnad, men är snabbare därefter. I ett fjärrklientscenario drar de linjen vid cirka 1000 rader (för "enkel" serverlogik). Att döma av deras beskrivning skulle jag säga att du borde klara dig med att använda TVP. Prestandaträffen - om någon - är förmodligen försumbar och de arkitektoniska fördelarna verkar mycket goda.
Redigera:Som en sidoanteckning kan du undvika den serverlokala filen och fortfarande använda bulkkopiering genom att använda SqlBulkCopy-objektet. Fyll bara i en datatabell och mata in den i "WriteToServer"-metoden för en SqlBulkCopy-instans. Lätt att använda och mycket snabb.