If you want excellent security and great service for each of those services, then go to a company where that service is their core competency. Host your DNS with your web host or a company like DNSMadeEasy. Host your mail with Rackspace Mail (formerly MailTrust), where you get a 100% uptime SLA, daily backups and 24/7/365 phone/chat/email support. What registrar you use doesn't matter as much since the service they provide is so fundamentally basic -- updating tiny text records in a database -- there's not much that can go wrong. I use Namecheap because of their history of doing right by customers in the face of legal threats where other registrars turn over information and even domain ownership without a court order.