Same problem, looked into it a bit, first found it with
Azureus (a java bittorrent client). My mates got the same issue, with limewire or azureus on java 1.5, haven't downgraded java yet, cos im a lazy guy, but hey I enjoy life

Now what similarities i've noticed with 90%cpu issues are:
*Java based p2p proggie - multiple connections
*Java 1.4+
*Athlon/AMD CPUs [in our cases]
*Windows XP SP1/2 [happens on both]
so the question is, do you have service pack 1 or 2 installed, and also, do you have an AMD processor?
I advise you to check out the azureus forums, I wonder if its just the multiple connections and graphically refresh-intensive gui-s
Infact I got the same high cpu usage issue with
eXeem , but all the p2p apps work, they just slow me down like back in the day of my good old k6-2 350, ah what a beauty.... /me remenises back to the day and rolls another fat one
I've messed about with priorities loads, and even found that RemotelyAnywhere [a webbased remote control program] could auto-assign priorities to exe's everytime they load, and with dual processor systems even set a program to run on a specified cpu, therefore providing elementary load balancing
anyone with duals fancy giving it a try, bet its nice
Oh forgot to add, my problem is slightly worse with a mildly tempramental wireless network, but my connectivity is like 99.9% up 24/7 and i tested with cable aswell so its not that.