While there are rules regarding transfers, if a kid wants to transfer, he generally can. And usually it’s the best players who are transferring so they can play for a successful coach or program.
This then becomes a death spiral-as good players transfer, the program wins less and there is a larger incentive for more players to transfer. Ultimately, you have consolidation of taken in a few programs and it’s hard to change that.
There are other issues as well-parental/community support, funding, good coach hires, etc., but ultimately, all of these are related.
If you look at some of the top programs you will almost always find that there are several (many in some cases) kids playing for one school that live in another school’s boundaries. For the schools on the losing side of this, it is very frustrating. My sons play for Northridge High School in Layton and in several key region games there were a couple of kids playing for the other team that live in Northridge boundaries. We went 2-8 this year, but with the 4-5 kids playing for other schools, it would have been an entirely different story.
The easy answer to a lot of these problems it’s simply a policy of “play where you live”, with very limited exceptions, and then only in extreme circumstances consider letting a kid transfer to another school and play.