>Or even sending a firm-wide email when a new position is posted externally.
Please. No more emails.
>It’s as simple as posting all open positions internally.
One of the problems that happens (today) with this is that companies decide to hire someone external for a position essentially created for them. So they may create a job posting as a formality. But it's effectively a fake posting. No one else actually has a shot at an interview, much less getting the position.