The reason P2P usually lags people's connections is because it's saturating your upload, not download bandwidth
You'll find limiting your upload speed in the P2P app to 50-80% of your real upload speed does well most of the time
Or you can go overkill like me, stick a linux box between the LAN and the internet connection so forcing everything through, then prioritise outbound traffic depending on the size of the packets themselves whilst making sure the upload is never saturated - let small packets out before big ones, since they're usually handshakes or requests for data so lowering their latency improves the perceived speed greatly
I use other tweaks too when prioritising the traffic, but sorting on packet size seems to give the best improvement