As you might be able to infer from my question history, I definitely have found it to be a steep learning curve. You describe my experience almost exactly. As a full-time student (in math and physics, not software engineering) who only does WPF programming for hobbyist applications, it's been rather frustrating. I've tried creating new applications in WPF, or porting some of my old applications over to WPF, and always get stuck on some small little thing that seems inordinately hard. One thing I haven't done---basically because of time concerns---is sit down with e.g. a book or a series of tutorials and go through them step-by-step. If you're a professional developer, that might be much more doable, and might make WPF much easier for you.
The biggest thing that gives me trouble, I think, is getting my head around the Model-View-ViewModel paradigm (see e.g. this question of mine). Whereas in WinForms I could just drag and drop some stuff onto a form, mess with its properties, and hook up some events in the codebehind, now I have to think about partitioning things into view, model, and viewmodel. A lot of those codebehind events become validation rules or databinding stuff. It probably doesn't help that none of my applications are really "data manipulation" applications; that is, they don't manipulate a database of customer info or anything, where a lot of this would make sense. Instead it's more like "I want a textbox that the user enters a URI into, and I want the button that says 'Download' to only be enabled if that textbox contains a valid URI." Little things like that start getting really quite complicated; I have to think about where the URI fits in my model, where it fits in my viewmodel, hook up a validation framework, and databind properties of the button and the textbox to all these elements.
Another annoying issue is how many things are just plain missing from the framework. For example, sorting listviews.
In the end, though, WPF has a lot of advantages. The layout framework seems a lot nicer than the primarily pixel-based WinForms model. It uses modern fonts like Segoe UI, heh :P. And its compositing features are pretty awesome too, e.g. how natural it is to put an image on a button (just put an image XAML tag inside the button XAML tag, essentially); I suspect it can solve my problem regarding checkboxes with controls inside of them, too, although I haven't tried to do so yet.