Erica Sadun over at the Unofficial Apple Weblog has created a native app called Song Sender. To install it you need to have the Instller.app on your iPhone and download the file. It has 3 choices.
Now you can set any song in your iPod as your ringtone. And dont forget that you can set different songs for different contacts as well. Read more here
Update: Tip on how to change any song to a ringtone
is this supported by 2.2 3g iphone?