I use a place called
www.mobile17.com. You just register, for free, and then you can use your own mp3's to make your own ringtone. It takes some time to send it to your phone since a lot of people use it (like an hour), so I will just make one and then let it send and it'll randomly show up on my phone. I think, since I have Sprint, it sends me to a website where I can just download it to my phone rather than getting a MMS message or whatnot.
Myxer - Download Ringtones and More is another place that you can create your own AND use some that have been pre-made. I know they have stuff like Family Guy and all kinds of movie and show ringtones as well...
Hope this helps!