Microsoft have created a nice visual guide on setting up custom ringtones on your Windows Phone. You need to be running the Mango update (Windows Phone 7.5) in order to have custom ringtones, but pretty much everyone should have that by now.
The ringtone needs to be in MP3 or WMA format, be less than 40 seconds and 1MB and have no DRM protection. You also need Zune (or Windows Phone Connector for Mac) installed to transfer the song to your phone, more details are available here.
Custom Ringtones was something lots of people wanted so its great that its yet another new feature Microsoft introduced with the WP7.5 update.