Мы находимся в похожей ситуации и много думали над этим вопросом.Для нас мы исключили Sharepoint Web Parts по нескольким причинам.Это может быть допустимый путь для некоторых, но дорогой.
Мы используем MVC для внешних пользовательских интерфейсов с некоторыми модулями Silverlight для особых нужд, требующих более широкого взаимодействия с пользователем.
Для внутренних внутренних пользователейВ качестве интерфейсов мы используем Silverlight / Prism / MVVM для новых модулей и на данный момент размещаем новые модули Silverlight в существующей системе WinForms Smart Client с помощью элемента управления браузера.Нам удалось создать необходимое взаимодействие между существующим кодом Smart Client и модулями Silverlight с большим количеством проблем.Это хорошо сработало для нашей системы, но ваш пробег может отличаться.Я полагаю, что простоте интеграции помогла наша простая прикладная среда, которую мы использовали вместо более общей, но более сложной среды CAB для Smart Client.
В какой-то момент в будущем, когда мы обновим более старые модули с WinForm доSilverlight, отбросьте их, потому что они больше не нужны, или перепишите их, чтобы они соответствовали значительным изменениям в бизнесе.Затем мы переделаем хост-приложение, полностью охватим среду Silverlight / Prism / MVVM и удалим весь код WinForm.Очевидным преимуществом этого подхода является то, что нам не нужно переделывать весь интерфейс одновременно.
Пока что он работает хорошо для нас.Удачи, какой бы маршрут вы ни выбрали.