The main reason we haven't gotten any of this simple self-service stuff done is we've been trying to get all of the cPanel accounts moved over, and we didn't have anywhere to put them. We figured having a control panel at all, even if it wasn't fully functional with stuff like adding/removing domains, was better than just leaving people's websites on a broken cPanel server with no control panel at all. We actually just finished sending transfer invites out about a week ago.
So, the choice last year when we started transferring people was:
Wait another couple months with everyone on a broken cPanel server while we tested the domain adding and removing, and DNS functions.
Start transferring people so they have access to a partially done Plesk control panel, and then when we got everyone transferred over we could work on things like adding/removing domains.
The plan was to set up Tommy, start moving people over, and then test the domain adding/removing on Johnny. Before we got that fully tested we realized that Tommy was full, and we didn't want to stop the transfer process again, so we just started putting people on Johnny for the same reason as the logic above. Having a partially functional control panel is better than no control panel at all.
So my point is, a new server does help because we need space for all these people, and we need space to create a test server where we can debug the domain adding/removing. We can't develop this software on a production server with thousands of people because if there was a bug that allowed people to edit other people's DNS zones, etc it would be very bad.