When RetroShare was still in the Debian repositories, I managed to establish fast and direct connections with my peers, and only my peers, especially after forwarding a port.
Meanwhile the (outdated) version of Syncthing in Debian only connects through a relay which limits its speed and is a problem for privacy. For chat, there is Jami (outdated, too) and Tox.
It looks like most of these problems are because of a lack of people working on them, and possibly misaligned incentives. The technical issues are secondary.