Hi ezrider (I love your name ) I use an app called "ringo pro". There is also a lite version with limited options that i haven't tried (ringo lite). This app allows you set different notifications/vibrations/led colors to all or individual contacts. This works for ringtones and sms/talk. If you want to change the notification sound for email or gmail you can go into their respective settings and set a notification tone there.
There might be other apps that allow you to change the notification sound for all of the above but my brief search didn't yield anything interesting enough for me to bother trying. Hope that helps!