Add Semi-Private Teams that are searchable and joining is by request
Last February (2018), Microsoft announced that private teams would be discoverable by searching. After negative user feedback, the updated was revoked.
To solve the problem of not being able to search for teams that are not public (which anyone can join), I would suggest that in addition to Private, Public, and Org-Wide teams, that Microsoft add Semi-Private teams. The only difference would be that they would be searchable/discoverable (like Public teams) but instead of anyone being able to join the team (like Public teams), a user would request that they be allowed to join the team. The owner of the team wpuld need to approve the request before the user would be allowed access to the team.
This would reduce team sprawl because uses would be able to search for teams that might meet there needs but the owner could be selective on whom they made members. Basically, anyone could knock on the door but the owner could decide whether or not to open the door.
Private teams could still remain private (hidden/not in search results) and public teams could still be searchable and have auto-join membership as they do today.
The term could either be semi-private or semi-public. Either would mean the same thing. Since public is searchable and private is not, maybe semi-public is more obvious.