Вопрос скорее архитектурный, интересуют принятые практики.
Идеологически MVVM предполагает, что обработкой событий от элементов UI занимается ModelView и ICommand, которые отвязаны от собственно UI, что правильно.
Но возникает одна проблемма — как в этом случае изменить UI, после обработки соответствующей команды? Вешать еще обработчик на Click, исключительно для UI логики или подписывать UI объекты типа Window на обработку событий от MVVM?