Well, I don't think there is one best one, each one is better for specific things. For example, Kazaa has fast speeds, and is good for downloading files up to 100MB (or more, but U run the risk of getting a corrupt file). Emule is steady and slow, it's speeds are very low, when compared to kazaa, but corrupt/fake files are practicly nonexistant (very good for rare, large files). Edonkey and emule are the same thing, only emule is a little more sofisticated.
Now Shareaza is good because it integrates the emule's network, with Gnutella 1 and 2, and has pretty fast speeds, but only when the person U'r downloading from is from the Gnutella network. But, in most cases, U'll see about 100 emule sources for every Gnutella source, so the speeds aren't all that great (not untill more ppl adhere to the Gnutella 2 network at least...)
So, if I were to choose a best overall one, it'd be emule, but for best results, use both Kazaa and emule.
