Yes custom ringtones are back, for now. Thanks to the iDemocracy 2.0, Windows users now have an unbelievably simple
way to add their own ringtones to the iPhone.
You can read more about this program here.
Apple has also provided a way to create ringtones via GarageBand.
Read this article: How to create custom ringtones in GarageBand 4.1.1.
Update: You can now use an entire song as a ringtone. Convert your song to AAC format, change its extension to .m4r, then copy it via SSH to your
Download iDemocracy 2 here.
Decompress the download file, read the read me (especially the part about installing the Microsoft Dot Net Framework version 3.0),
and launch the program. Click the Media Manager button.
Make sure you are in the Ringtones tab.
Next enter your IPhone's IP address in the box where I have entered mine (in this case 10.0.1.5). When you
have added files you will want to click the Refresh Ringtones button, but for now you don't need to. To upload
a ringtone click the + button.
A file browser window will open. Navigate to your ringtone (which must be in AAC format - you can use iTunes to
convert it from mp3), select it, and click Open.
A few DOS windows will open and close, then another pop up will provide confirmation that the ringtone has been uploaded.
The ringtone will now appear in your list in the Ringtones tab.
Check your ringtone menu.