There is one thing about Apple which I never understood, and that's iTunes.
It's probably one of the worst applications I've ever used. The UI has nothing to do with Apple's amazing user interface design, and it's damn slow.
However, don't be upset my fellow Apple fanboys, because I just found an application which is even worse: Microsoft Zune.
It's significantly slower than iTunes, the UI is pretty hard to understand, everything is customized so scroll bars are not acting as they usually do, etc.
I never really cared about Zune, as I only did some basic synchronizatrion with my Windows Phone 7 device, however, today I tried to build those customized ringtones that Mango finally supports. It took me an hour to do it. It's way too long, and it's far from selecting a song, and setting it to be a ringtone: you will need to work real hard, in order to get those custom ringtones loaded to your device.
Option 1: Do it yourself
Basically this technique requires that you trim your song to be shorter than 40 seconds (39 will do) and that the size of the file (MP3 or WMA) will be smaller than 1 mega.
Once you've done that (here's one app that will help you trim your songs), you need to modify your song (through Zune) to be defined as a ringtone, and only then you can add it to your phone and the phone will automatically load it to the custom ringtones list.
Sounds complicated? You bet.
Option 2: Download an app that will do it for you
I tried a few, and no one is perfect, but I think that Myxer might be a good app to start with: it has a large collection of ringtones and it is completely free.
Once you found a ringtone you like, you can download it directly to your mobile as a ringtone. This way is much faster than the Zune way. I guess that in some areas a smartphone is just more efficient than a whole computer..