Ever thought about hosting yourself?
Its not actually as hard as it seems, especially for only a few websites.
All you need is a PC that has a bit of speed behind it and is reliable, and an always on internet connection (or you could just have your site online at set times).
As you may well know its too much work to find out your IP address, and reset your domain name to that every time you log onto the net. even if you have an always on account, your computer can require some down-time. DNS2go give you an address to send your domain name to. They also give you a program to install on your host machine, so that when you log on, it sends dns2go your IP address and they automatically link to your machine! Fantastic, that's the big job out of the way.
dns2go.com
Your computer could do with being as fast as possible, and running a server program of your own possibly, just to give you that bit more control. You might wat to consider getting some DDR ram, and if your hosting a lot of sites, try a SCSI hard drive.
You would have much more control over your site with the host actually sitting next to you, and I think the best bit of all, is that you dont have to worry about "will the server run this program" or anything like that.
Downpoints are that if the site is hacked, its your fault totally. YOU are responsible for the content and security of your site. (Unless you put the server in the middle of a field somewhere!)