Недостаток любого фреймворка тот же: это чужой код и чужая реализация шаблона. Вы передаете контроль над решением чужого кода. Если вам это удобно, во что бы то ни стало, сделайте это.
Но MVVM - это действительно простой шаблон для понимания. Реализация его на самом деле довольно тривиальна; WPF и Silverlight включили большинство основных компонентов, необходимых для работы связывания и, таким образом, для работы MVVM.
Я обнаружил, что все, что мне действительно нужно для MVVM, - это агрегатор событий для обмена сообщениями между классами, класс модели базового представления для обработки повторения кодирования INotifyPropertyChanged, а затем контейнер IoC для подключения моих зависимостей. Вот и все.
После моего опыта работы с блоком пользовательского интерфейса компонентных приложений я склонен уклоняться от чьей-либо "инфраструктуры". Особенно, если я могу написать основные биты самостоятельно в короткие сроки.
Мы выполняем MVVM в наших проектах на моей нынешней работе, и моя инфраструктура - это буквально пара классов и интерфейс для того, о чем я говорил выше.