I use Banshee Alarm for this ..
It's quite good .. it's default alarm is extremely good (read: irritating, hence you
have to wake up
it's got good snooze feature .. the interval of snooze is cutomizable..
plus you can put other applications, playlists, etc as alarm too
-----
alibi