I use Ringo Pro... but see my post for an issue I am having with it on my 680. If I get back the no-vibe on silenced callers, it's everything I use in a r'tone package. And fairly reasonably price if I recall! It does have a limited trial version too, I think.
the best program to use is not Ringo Pro. Ringo Pro gets rid of your vibrate feature. If you download the Mini Tunes, the program can take any mp3 files on your phone and make them into ring tones. It also has a featur where you can take segments of any of your songs to create the ringtone, instead of only using the begging of the song.