Take a look at "MyxerTones"
It is full-featured, functional, and free.
http://www.myxertones.com/defaultMYO/
Once you've created your ringtone, you will need to move it to the "Rings" sub-directory in your Windows directory on your device.
You will need to use a file explorer program on your device, since the "Windows" directory is hidden by default when exploring your device from a PC.
Once you've moved your custom ringtone(s) to the "Rings" directory, you will need to assign it/them in the "Sounds/Notifications" Applet.
(Settings-->Personal-->Sounds & Notifications"-->"Notifications" Tab.)
Hope this helps,