Yep both the above pretty much hit it. 10% is just way too low related to free space.
You are one of those that could definitely benefit from defragging the drive.
Harry's mentioned some hardware upgrades that would speed things up.
But, if you just want to get your machine back to working as fast as new and maybe a little faster:
With the work you're doing, would recommend getting your drive up to and maintaining 35-40% free space. It will make a difference. Anytime you're using the 2nd half of the drive it's going to be slower.
For less than $100, I'd put in a 2TB drive as your OS drive rather than trying to free up that much space.
Not only will that give you the free space, but the current gen 7200 2 TB drives will greatly outperform that 650 GB drive you have.
If you decide to keep your existing drive and free up some space, I highly recommend iDefrag.
Even if you go with a new drive and end up running it at 50-75% free space - I found an occasional run between Onyx and iDefrag could result in up to 20% speed improvements in boot and application launch times.
The issue with those that move large files around, OS X is excellent about keeping files defragged. It does that by using the entire drive and it does nothing about defragging the free space to keep it contiguous. When you start accessing files that are stored at the end of the drive - it's slower, accessing files that are scattered around the drive - it's slower. And when your free space is not contiguous, then those large files end up being written to several areas of the drive - again, slowing it down when you need to access them.
I've even tried iDefrag on a clean install of OS X 10.6. Boot time with clean install - 28 seconds. Boot time after iDefrag - 23 seconds. That was an almost 10% improvement on a clean install. It felt like my apps also launched faster, but that could have been only my perception.
(I do admit, I'm at the extreme related to the amount of free space recommended and I don't recommend it to everyone. But, if you want to keep your machine running top notch, as fast as it can; 40% free space and running iDefrag on occasion will help greatly toward that end. 35% free space is where I have consistently noted a slow down that could only be solved by freeing up more space. Will also note, these are my exact same findings using that other OS.)
(Oh, and have to add - you do have a backup, right?)