That has most certainly not been my experience with Microsoft PMs when I lived in Seattle. There were more than a few who had zero experience writing code in-industry, and many who I wouldn't trust with a product at all.
There are bad apples in every bunch. The reason MSFT has so many PMs is not that they are under-competent; I suspect it has a lot more to do with the fact that it is a large organization that is often unable to silo teams from each other effectively.
Nonetheless, I still stand by point. I was an SDE at msft in OSD, so I know very well how technically competent PMs are and how much code they write.
I'm certain any PM in devdiv for example would be a great coder.