With a loading screen you'd have to check with a timeout, and by then you can't get any more players for the map. The lobby allows you to see how good the connection is while allowing more players to come in if someone is booted for having a bad connection. You should also be able to see each player's ping.
I personally like the P2P idea. I always get any chance I can at recommending BitTorrent. With this system the host need only send a torrent file. Reverie could keep a tracker, or at least a website where anyone can get the links to torrent files for maps. When someone is in a game, it stops uploading. And they could always be allowed to select manually to not upload. And hosts(and clients) can choose to just directly send/receive the map if they don't like P2P.
It'd be neat to see distributed networking in-game as well if you guys can make a good P2P system.