It looks like some folks have found a way to add custom ringtones to your iPhone by following some steps and using a couple programs called jailbreak and iPhoneInterface. Currently the steps only work for those that are using Intel Mac’s but from the description it probably won’t be long until someone makes an interface to broaden the reach.
The instructions are listed over at HackiPhone and involves a lengthy 23 step process. The steps involve backing up and restoring your iPhone from iTunes and they have a few warnings before you start that stating that this process could totally brick your iPhone if it doesn’t work out. (They are considerate hackers.) Once your done you must also be sure you added all the ringtones you wanted or you’ll need to follow all the steps again to add more.
If you want custom ringtones for your iPhone really bad you can try this out, but make sure you set some time aside and also have prepared yourself in the event that you end needing to send your iPhone in to Apple.