Part of the difficulty of bringing this about is making p2p easy for users. I have high hopes that WebRTC data channels can start tearing these walls down by making it as simple as opening a web app.
As a general concept, P2P is easy for users - using bittorrent clients, TPB, etc. is essentially mainstream.
The one thing that would be nice is browser support - I would love it if Chrome had the option to download .torrent files using the Chrome download manager.
Thanks to web seeds[0], this would allow providers to convert any download to a torrent instead, both increasing use of P2P and decreasing their own server load.
Users wouldn't even need to know that they're using Bittorrent to download files - all they'd see are faster download speeds.