Я не думаю, что есть четкий ответ на ваш вопрос; это немного зависит от того, что вы хотите сделать с данными, возвращаемыми службой, от того, как вы собираетесь развертывать свое решение, и от того, как много сделано с VBA, в отличие от .NET.
Мне кажется, что VSTO, вероятно, прав, потому что он дает вам полноценный .NET-проект, который, скорее всего, будет наиболее удобным для работы с сервисами WCF. Предполагая, что то, что вы пытаетесь сделать, - это получить данные и дать своим пользователям выбор относительно того, что вытащить и как их отобразить, вы можете затем создать для него пользовательский интерфейс (возможно, в области задач) и записать результаты в Excel во время написания кода в Visual Studio.
Тем не менее, вы упомянули VBA, и я не совсем уверен, насколько вы хотите его использовать. Я обнаружил, что ExcelDNA проще в использовании, если вы хотите создать пользовательскую функцию VBA, которая вызывает .NET dll. Если VBA - это то, на чем вы хотите сосредоточиться, это может быть путь.
Надеюсь, это поможет!