As noted elsewhere, it's the hosting plans that they make their money from, and so that's what I'd aim to transfer. So I've got a two-part question:
1) How does one transfer all the DNS information, including the A and MX records (anything else I need?)? Is this all provider-specific? Or can they just port in the existing data?
2) When I'm ready, I'd want to set up a web site, and especially a mail server. Any recommendations? (I know this has been asked plenty in the past, but this seems a good time to make a list excluding GoDaddy)
First, manage the dns with a third party dns service. Such as http://zoneedit.com/pricing.html or similar. Don't use the dns of the registrar.
But if you are talking about moving over just dns servers (not the records that are in those dns servers) that is automatically ported over when you change registrars. But if the dns servers are the dns servers of the registrar that isn't what you want. Which is one of the reasons to use third party dns. If you switch registrars the gaining registrar automatically sets the primary and secondary dns to what it was at the old registrar.
I wrote this fast but if you have any questions let me know. This is what I do.
To answer about mail server depends on whether you mean the mail server will run on your equipment or on a VPS or?
First, manage the dns with a third party dns service.
This cannot be emphasized enough. Do not use your registrar's DNS. Do not use your registrar's hosting. Do not use your host's DNS.
The three elements -- domain registration, DNS, and web hosting -- should be segregated. That way, if you have problems with one, through chance, malice, or incompetence, you can exercise the other two items to work around the issue.
E.g.s:
If your web host is DDOSed, change the DNS entries to point to another host; minimizing downtime.
If your DNS servers are taken offline by legal action against the company that owns them, change the published servers at your registrar.
If your registrar goes bankrupt, your DNS and hosting will continue running smoothly while ICANN handles the domain management.
While you're at it, host your email somewhere different than your webhost. If you're account gets disabled because of a billing mistake, you want to get the email that tells you about it, right?
It's not even that expensive to implement these steps -- $25, maybe $50 per year. If you are at all serious about something on the Internet, spend the extra money!
You can never know what the company executives or managers might be getting up to, so -- as basic risk management -- you should prepare for catastrophic events.
I established a DNS Made Easy account about 5 years ago exactly for this reason. Registration, DNS and hosting independence is an important consideration. Separating these concerns is a big win when you need it.
1) Transferring DNS is a bit of a pain indeed. Luckily GoDaddy lets you export the zone for each domain from their control panel. I would just send this to your new registrar and they can import the settings. Some registrars also give you an option to add DNS records when starting the transfer.
2) This might be helpful for email / website / blog hosting: http://iwantmyname.com/services – these hosted apps and services can all be used with your own domain.
(Full disclosure: I'm a co-founder at iWantMyname)
Some registrars support uploading zone files, at least Safenames (our current registrar, not the cheapest but good, simple UI:s and good customer service) does, and I believe that you can export the zone file from GoDaddy. So check if your new registrar supports importing entire zone files, if so the transfer of DNS should be trivial.
Glad I've already moved all of my hosting to a different party years ago. I used to use GoDaddy for hosting and what a pain that was. Their shared hosting was just horrific for me.
1) How does one transfer all the DNS information, including the A and MX records (anything else I need?)? Is this all provider-specific? Or can they just port in the existing data?
2) When I'm ready, I'd want to set up a web site, and especially a mail server. Any recommendations? (I know this has been asked plenty in the past, but this seems a good time to make a list excluding GoDaddy)