Commands are pretty awesome.
I find constructing DependencyPropertys to be a bit faffy.
We've been doing a bit of stuff around amendability using XAMLReader.Load() which allows for really easy control injection.
I especially like the way you can specify assemblies in your imported XAML that the originating program has no concept of, and do your code-behind stuff in them. Really flexible.
I'm sold, can you tell? :)