OleDb jest bardziej ogólny. Jeśli kiedykolwiek przejdziesz do innego typu bazy danych w przyszłości, istnieje duża szansa, że będzie on miał sterownik Ole i nie będziesz musiał zmieniać tak dużo kodu.
Z drugiej strony, natywny sterownik Sql Server powinien być szybszy, jak powiedziałeś, i ma ładniejszą obsługę parametrów (parametry mogą używać nazw, a nie mieć być w porządku).
Z mojego osobistego doświadczenia nigdy nie zauważyłem różnicy prędkości; Nie mogłem też znaleźć niczego na poparcie roszczenia. Podejrzewam, że przewaga wydajności jest realna, ale musisz przetworzyć miliony rekordów, zanim zaczniesz ją mierzyć.
To, co zauważyłem, miało znaczącą różnicę, to komunikaty o błędach. Miałem problem ze starą aplikacją OleDb i z desperacji przełączyłem ją na SqlClient. Oczywiście to nadal nie działało, ale lepsze komunikaty o błędach dostarczyły wystarczającej ilości nowych informacji, dzięki którym udało mi się rozwiązać problem.