В основном в целях абстракции и безопасности, если это приложение работает на компьютере клиента вне офиса (что я должен предположить), вы должны предоставить сервис WCF. Таким образом, вы можете управлять безопасностью и никогда не позволять клиенту видеть что-либо, связанное с подключением к вашему SQL-серверу. Таким образом, также, если что-то меняется на вашем SQL-сервере, вам не нужно обновлять приложение.
Что касается производительности, я бы сказал, что она будет в некоторой степени медленнее, но она должна быть очень незаметной, в течение нескольких миллисекунд больше времени.