Goosegg makes the best point. If the player doesn't do the work the team will not matter. I've seen many kids get their weekly lessons at $50 an hour or some other rate, then not do much in between.
At 13 find a team that has coaches that still work fundamentals and lots of repetitions. Winning championships at 13 really doesn't mean much. There is a lot of growth between 13 and 16. Set the conditions for physical maturity to apply the skills. You notice many high school players are often Juniors when they break out and really show college level ability. Sure the kid throwing 85 at 15 is a stud, but there is no guarantee he will throw 95 at 18. Lots of players simply don't put it together until they are 16/17.
Benchmark skills every four to six months and you will probably see the progress. Just keep moving forward and enjoy the journey. It is very easy to get caught up in comparing your son to others and getting caught up in observations that don't matter.
Play on a team that plays at a level that is competitive for the player and hopefully similar skilled team mates.
If a two way player (hopefully a 13 year old is a two way player) then play on a team that supports both roles. A good coach should have no trouble managing this issue. If a 13 year old goes to a weekend tournament and pitches five innings then watches three more games from a dugout you will find it will not take much to pull them away from baseball. The game should still be fun for the player at this age.
I saw several teams where the environment simply drove players to look for other things that they were enjoying more. Activities ranged from Lacrosse to Bass fishing.
Keep him working and enjoying the game. There is a point where coaches contacts and other connections matter, but the skill have to be there for those costly connections to matter.