Userei ancora SqlBulkCopy
per copiare rapidamente i tuoi dati dal file esterno in una tabella di staging che ha la stessa struttura (piatta) del file (dovrai creare quella tabella in anticipo)
Una volta caricato, puoi dividere i dati su più tabelle usando ad es. una procedura memorizzata o qualcosa del genere - dovrebbe essere abbastanza veloce poiché tutto è già sul server.