I am looking to build a service for users where they can signup (using an online form such as Gravity or Ninja forms) for a website either as a sub domain or sub directory of the main website similar to wordpress.com. I am using wordpress multisite, but I cannot find anything online on how to accomplish this. Is there a special plugin or script/scripts that I can run?
You don't need a separate form to create a register page.
Go to the network Dashboard » Network setting » Enable both sites and users can register, and you are ready to go.
Visitors now to your site can register a new site at this URL:
And for reference you can go through this source to get a bit more handy on WordPress Multisite:
Let me know if helps to solve your problem.