I use NameCheap for registration along with Route53 (Amazon) for actual DNS hosting/management. Amazon is around $0.75/month/domain. Namecheap varies depending on type of domain and duration.
Namecheap's control panel could be a little better designed, but if you host elsewhere you spend very little time there.