You have 2 choices, really
1. Give, yes I said Give the desktop to a 2nd had store like Goodwill, Value Village, Vincent St.DePaul, etc. They will either sell the PC in their store or they will recycle it if it's broken. Most 2nd Hand stores recycle broken electronics, flat screens, etc. Donating is giving them something of value, but often times an old desktop has no value.
2. Sell the desktop on a 2nd hand medium like craigslist or offerup. You could also offer to give these away to someone who will fix them up and then resale them. Believe it or not, there is a niche/small market for old desktops that are running XP, ME, and 98se because people want to run old software that won't run correctly on a VM.
I would recommend destroying the hard drive if you have ever had any sensitive information saved to the PC.