I agree with you, there is a performance problem with DWM. I don't know exactly what it is, but when you change the destination rectangle of multiple thumbnails, framerate slows down dramatically.
It looks like there is no 3D transformation matrices behind the "DwmUpdateThumbnailProperties" function.
The baddest thing, is that we have no way to get Live Thumbnails in a "live texture" for Direct 3D or a "live WPF brush".
Last point : I firstly wrote MyExposé in C#... With P/Invoke, the framerate was about 3-4 times worst.