ViewModelとView(XAML)、どっちが大変?

MVVM界隈ではViewModelを作成するのが大変という理由でViewModelを自動生成をするツールをよく見るけど、ViewModelよりもViewすなわちXAMLを作る方が大変じゃない?
C#書ける技術者とXAMLを書ける技術者の数の違いもあるし、リファクタリングなどのツールのサポートレベル、共通化や構造化するための仕組み(OPPのテクニック)など、かなりView(XAML)側が不利だと思うけど...

あと、ViewModelの実装でINotifyPropertyChangedを全てのプロパティに実装しないといけないという誘導も、変にViewModelの作成コストを上げているいるように思う*1、INotifyPropertyChangedはVとVMのコミュニケーションの選択肢の1つであり、実際WPFSilverlight以外のASP.NETなどでViewModel(Presentation Model)を作る場合別の選択肢になるはずだよね。実際以前利用していたWPFのViewModelはINotifyPropertyChangedでななく、UpdateTargetを主要な画面更新メカニズムにしました。これにより画面領域を明示して(プル)更新ができるようになって複雑な導出関係のあるViewModelでも確実な画面更新が記述しやすくなりました。

MVVMの考え方(理論面)も重要だけど業務アプリではそれなりの開発者が失敗しないこと(実践面)も重要だよね。

*1:プロパティ名にnullを指定するとインスタンス全体の変更通知ができる。コマンド実行時にこれで十分なケースも多い