Yes, I know - but that doesn't mean that it isn't still a horrible idea.
It gives resellers the illusion that they are providing a complete service. What they are providing is a bare-minimum of service that you could get by on, if reliability isn't terribly important.
I think that most control panel users aren't really resellers, though, and are simply using the control panel to make it easier to run a number of their own domains.
Since you are your own customer, it's best to drop the illusions and see things as they are.
Yes, kind of - I'm sorry, I missed this the first time around. Unfortunately, this still won't allow you to create new top-level domains on the third-party service. It will let you add hosts and subdomains to existing domains, and to change IP addresses. You will still need to set-up each domain at the third-party DNS provider's web site, but you can probably do this with only a couple of clicks using a template. I suppose you could automate this using some screen-scraping package, or seek-out a DNS provider with a full API. You'll still have to figure out how to hook-in to Plesk.
You can use your internal DNS server as a "hidden" master, and then use a third-party DNS service. Have the third-party DNS service do zone-transfers from your DNS server. Do not put a pointer to your DNS server at the registrar. Be careful with permissions - make sure that you configure your DNS server to allow zone transfers only from the IP address of the third-party DNS server.
Note that your SOA record will have to name one of your third-party DNS provider's servers as master. You may need to do some research on how to do that. Or, the third-party service may be able to override the SOA record and ignore the one that comes with the zone transfer.
("zone transfer" = essentially, "download")
Almost all third-party DNS services support zone transfers from your server. It's unlikely that you will find this feature with a registrar's DNS service, however.
If you are using a failover service, you will want to keep DNS on a short leash. That is, set a small TTL value for the site(s) that you may want to failover. This can be as short as 5 minutes with some services. Of course, that will increase the volume of DNS requests and possibly incur additional charges. So, pick a compromise that you can live with.
You certainly don't have to wait 1-2 days, or even hours for a DNS change to propagate. YOU are in control. It's just that most webmasters choose NOT to take control, and accept the "conventional wisdom" that it takes 1-2 days for a DNS change to take effect.
Pointers at the registrar to the DNS servers are a different matter. You normally don't have control over their TTL, which *is*, typically, 1-2 days. This is but one of many reasons why you don't want to be changing pointers to your DNS servers as any part of a failover plan other than as a very last resort.
Your DNS infrastructure should be the most reliable component of your system. That's why I favor third-party providers that do this and nothing else.