I think, correct me if I'm wrong, we currently have no Gnutella client with swarming... only with segmented downloads.
Xolox has two healthy feature (inspired of eDonkey): First it does allow to upload unfinished files to spread new and big files much faster (the other client has to know how to handle this, okay only Xolox itself can do this now). Second it has a tiny intelligent upload: You did choose a minimum upload bandwith + a optional higher bandwith when the user is being idle. Actually this option was only suitable for high bandwith user (which Xolox was designed for), not for modem users. An intelligent uploading or swarming mechanism as described above does only exist in fantasy yet. :-)
The implementation prerequisites for swarming are
IMHO: a stable client, multisegmented downloads, upload of unfinished partials, automatic researches (for automatic resume) and file hashs (for efficient research/resume). So far the technical aspects... there is one more aspect to make more use of modem users: superpeers (ultrapeers) are needed, they give back modem users some of their bandwith, which they can then better use for swarming.