Audiko has a neat little service. Upload an mp3 of your favorite song (or provide a URL and Audiko will download it), snip a fragment of the song (about 20 seconds or so) and download it on your phone as ringtone. Simple enough. Of course, the iPhone is supported.