Just to put in my two cents, I agree that the designers in 2008 and 2010 are worthless. I always write straight XAML so I know I'm getting exactly what I need. The designer is just there to double-check that my XAML is correct.

Multi-threaded apps need thread management. I'm not sure what the big problem is there. I can't find the link, but I think it was Bea Stolnitz who had a nice simple implementation of a thread-safe ObservableCollection. It is surprising that this class isn't built into the framework.

I haven't seen any apps that were obviously WPF in the wild, but any new internal app I write is likely to be WPF. The fantastic support for databinding makes crafting a UI child's play and infinitely modular.