considering a situation where only the user updates the ViewModels/Models through the UI, there's no external access to the data displayed.
Why does the ViewModel should implement INotifyPropertyChanged in this case?
It makes only sense to me to have a ViewModel implementing it when there's external access to the data so that the UI has to be notified somehow about an external-initiated property-change and you set up Mode=TwoWay/Mode=OneWay.
Most of the sample MVVM implementations I saw never subscribe anything the the ViewModels PropertyChangedEventHandler, but still implement it, just because it has to be done, since it's mvvm.