I fully agree. The problem is that it's even harder to design something that is fully p2p than something federated. (One thing that tries to be exactly what you want would be https://secushare.org/ But its in a very very early stage, right now. There exist others, though.) And you have to agree that (even if most people choose the biggest provider) simply having the choice of different providers or even being your own provider is a huge improvement.
When I see projects like https://webtorrent.io/ https://openpgpjs.org/ or things like https://github.com/cjb/serverless-webrtc I sometimes wonder if just a 2018 web browser is enough.