We propose peer swapping as a means to improve the throughput of structured-overlay-based peer-to-peer (P2P) streaming systems. In many P2P streaming systems, an overlay is incrementally constructed as peers join the system. When the system is dominated by peers with low uplink bandwidth (so-called leeches), the overlay can get clogged, which hampers its growth. A P2P system that suffers from clogging cannot scale any longer because even peers with high bandwidth are rejected. We first provide a theoretical analysis of clogging, which reveals that clogging is inevitable in a structured-overlay-based streaming system with heterogeneous peer uplink bandwidths. To overcome clogging, we propose distributed peer swapping, a method to reconfigure the overlay without centralized control. Experimental results demonstrate that peer swapping enables the system to accept more peers by mitigating clogging.