* Pinyin can't be used for other dialects, meaning someone in Guangzhou won't understand written pinyin.
* There are only something like 400 sounds in Mandarin, which means there are a lot of homonyms which makes pinyin not suitable in certain contexts.
* Switching a highly literate society with more than a billion people to a different writing system would be a massive undertaking.
The Vietnamese made such a switch from Chinese characters to a Romanization system based on Portuguese, but at a time when literacy in Chinese characters was relatively low and a colonial power (France) dominated the country and its bureaucracy.
Of course you address some of the pain points like the fact that China is way more literate than Korea was when Hangul was introduced.