Is the Drupal Multisite something automated once its setup? I am looking to create a multisite system that creates websites for users. But I need the users to be able to create their own website.
something like below steps :
Register&gt;add domain&gt;select theme&gt;give donation(optional)&gt;Done

Does the multi site feature allow this? If not, what is the best way to achieve this functionality? 

Or what do you recommend we to achieve this?

Thanks
I build a system for a client where the client would deploy sites for his clients.  It was pretty easy with the Aegir system.  Aegir is a drupal site that manages drupal sites and different module configurations as "platforms" for those sites.  

Need to depoly security updates?  Make a new platform with the updated modules, and migrate the sites from the existing platform to the new one with the built in migration managment.

A manual multisite install is similar to this, where the /sites/all folder is your platform common to all the sites, and each one has a separate database.

The disadvantage is each site residing on aegir is its own site, with its own database.  If you want nodes or pages common to each site you have to hardcode them into the platform's installation profile.(or make them manually for each new site)  Also, the steps in your question would have to be done in the Aegir level and not in the drupal site.

With the domain module you have multiple sites using the same database, so you can more easily share nodes and content across them.  Also, since it is one site holding different pieces under different subdomains, the ability to add new subdomains is in the drupal menu on the site.

Disadvantage: what affects one site affects them all, since they are all different faces of the same site.  Also, I have had bad experiences with the domain module (especially in conjunction with the commerce modules) and trust it less than other solutions.  Since (sub)domains are content types made by users, it is possible to delete an entire domain and lose all its content when you delete the user account that made it.  I saw a guy get fired for doing that by mistake.