J'utiliserais toujours SqlBulkCopy
pour copier rapidement vos données du fichier externe dans une table intermédiaire qui a la même structure (plate) que le fichier (vous devrez créer ce tableau à l'avance)
Une fois chargé, vous pouvez répartir les données sur plusieurs tables en utilisant, par exemple, une procédure stockée ou quelque chose - devrait être assez rapide puisque tout est déjà sur le serveur.