OleDb är mer generiskt. Om du någonsin flyttar till en annan databastyp i framtiden finns det en god chans att den kommer att ha en Ole-drivrutin och att du inte behöver ändra så mycket kod.
Å andra sidan ska den inbyggda Sql Server-drivrutinen vara snabbare som du sa, och den har bättre parameterstöd (parametrar kan använda namn och har att vara i ordning).
Enligt min personliga erfarenhet har jag aldrig märkt hastighetsskillnaden; Jag kunde inte heller hitta något som stödjer påståendet. Jag misstänker att prestandafördelen är verklig, men att du skulle behöva bearbeta miljontals poster innan du kunde börja mäta det.
Vad jag märkte gjorde en meningsfull skillnad var felmeddelandena. Jag hade problem med en gammal OleDb-app, och jag bytte den till SqlClient av desperation. Naturligtvis fungerade det fortfarande inte, men de bättre felmeddelandena gav tillräckligt med ny information så att jag kunde åtgärda problemet.