As Mat posted, Michael Simmons of Ambrosia SW dropped us a note yesterday to give a heads up about their new iToner product. $15 gets you a universal binary application that allows you to install new ringtones and easily assign them to your contacts.
I thought I'd follow up his post with a quick trick to assign custom ringtones to individual contacts.
To do this, choose Phone > Contacts and select any of your contact names. Tap Edit and scroll down the contact information page to tap Assign Ringtone. Select a ringtone and tap Info (top-left) to select that sound or select None to use the default ringtone for this contact.