This is a tough question to answer because it is so situational. For example - I have seen organizations where PM is so immature that it is essentially a project management function. Melissa Perri even uses such an example in her excellent book Escaping the Build Trap! While in Perri's fictional organization, she was able to develop the PMPs into PMs in the end, many companies would opt to try and hire a few true PMs first.
Another dimension is mix of seniority which is critical on any team (just like in engineering). If you have a team of all very junior-to-intermediate PMs, you may find that you cannot develop any PMs fast enough into being sufficiently senior & that you need to hire outside. A great Staff+ PM is worth their weight in gold because not only do they generate great results themselves, but they act as an accelerant to the rest of the organization: engineers and designers become both more productive and happier.
You also asked about switching folks from other roles in a company into PM (e.g. engineering, sales engineering, customer success, professional services, support, etc.). In my experience, this can work, but moreso at junior to intermediate levels on the PM career ladder. This is because there are a lot of skills that a PM needs to employ that are sometimes not exercised in these other roles. Many such transferees need to be disabused of the notion that PM is just about having a huge wealth of domain knowledge and employing that to "tell people what to do". Even if you can overcome such a barrier and the candidate truly wants to do PM, the compensation gap from where they are coming (particularly if coming from a revenue-oriented role) and perceived demotion may be unsurmountable & you may need to hire from outside.