MultiSite Install and Setup of New Paid Sites

What is the best way to go about creating a multisite website in which a paid user can select a template and input a sub-domain name (or another domain that will be secured by my company and then mapped to the new subdomain) which will be used for the new website?

The option for free sites would be available minus certain features as well.

I’ve been wanting to create something like this and know you guys have great plugins to assist, but I have not been sure where to start and how to set it up properly.

Thanks!