With physical connections, one high bandwidth connection will always be cheaper than many low bandwidth connections. So long as your p2p network is working over the internet, the reasoning still holds. Using expensive, last-mile bandwidth any more than necessary is not a good idea.
If you have a shared neighborhood Ethernet or geographically-based hop-by-hop forwarding, it's cheaper to get a file from your neighbor than from a data center, because it avoids using expensive last-mile bandwidth. If you have an inherently-symmetric medium like fiber, traffic in the less congested direction is free, and data-center space isn't.
So peer-to-peer works better than warehouse-scale computing in those cases.
The dynamic-allocation case is a little more complicated, and I'm less certain of my reasoning there. It's true that peer-to-peer architectures will still use more last-mile bandwidth overall in that case than data-center architectures, as much as twice as much, and so they'll still be less efficient. The difference is that you can make that tradeoff on a moment-by-moment basis, instead of choosing to permanently cut your bandwidth in half when you sign up for the service, before you know anything about the internet. That's a much lower bar.