try quick profiles, it works great
I use an app called Timeriffic to silence the notifications at a certain time (11:30 pm in my case). That way, the ringer will still work, the emails come through, but I won't be disturbed by emails, texts, etc. I set another timer to turn on notifications at 6:00 am. Timeriffic is free at the app market. Set it and forget it.
I use a free app call Auto Ring. It allows you to make a list of certain people that will ring on silent. You can even set it to auto-enable, so every time you put it on silent, it works. So I just silence my phone, but people like my girlfriend, work, family etc will still ring and wake me up.
I do not ringtone for email it just blinks green LED and makes a short vibrate.
I use Quick Profiles and have a "sleep" profile set up . notifications OFF ringtones 50% volume and Alarm 100% volume