I’ve been using phonezoo.com for a while now and love it. It’s free and lets you choose which section of the song you want to use as your ringtone, lets you add fade-in/out effects, and you can save them for downloading later or sharing with friends. If your phone doesn’t use the mp3 format for ringtones, it converts it to the correct format automatically by having you tell them what phone model you have.
If you have mac osx leopard you can drag the song from iTunes to garageband, pick the part you want and then import that part back to iTunes as a ringtone.