Okay I will ask my Hoster and transfer my domain to namecheap.
After transferring it when my provider goes down I can add my domain to other VPS and go online right?
Having someone steal your website doesn't happen too often. I worked for one of the big companies for a long time and the only times I seen it was with the website owner's spouse or webmaster. Still... if you signed up through a reseller, that might be concerning because they could just be any joe shmoe, and resellers have access to login to your accounts. I don't think they could get away with stealing your domain name, and if they did, you could get it back easily. Buttttttt.. They could still login and snoop through your website files, and download them. Not to mention going into your config.php files and taking your database passwords (which sometimes people use the same password for everything).
Anyways, your domain is probably already through a reputable company, because it's not easy to become a "domain registrar". A reseller is just re-selling a reputable company's services. So there might be some away you can contact the registrar or change your passwords so the reseller doesn't have any access.
But if you wanted to be sure, you can just do the following:
1. Copy all the files and database files to your PC.
2. Signup with a new web host/VPS and re-upload the files and databases onto their servers.
3. Ask your new host for their nameservers and/or IP address.
4. Through your existing registrar (or maybe control panel on your old hosting account), preferably update your nameservers to your new host.. if you can't find that, then change the A record to whatever IP address your VPS is on.
5. At this point your Web Hosting should be changed. But now contact your current domain registrar and unlock your domain and obtain the authorization code. Also make sure you have access to the administrative email address on the domain.
6. Go to the new company you want to use and initiate a transfer (and pay for it, etc).
7. They're going to send you an email asking for the authorization code, you enter it, and then after some days, the domain will be transferred.
A final note is... once the domain is transferred, your nameservers will probably get updated, or will need to be updated. It's different for every provider. Sometimes it gives you the option of choosing where you want your nameservers during the transfer. So you will want to make sure that the DNS is all setup correctly, before and after the transfer to make sure your website works fine. Alternatively you could use "freedns.afraid.org" nameservers and have them manage your DNS for you.
And just as a clarification, the nameservers are not where your website is being hosted. When you change where the nameservers are pointing to for your domain, you are just changing who manages your domain's zonefile (IP/A records, etc). So you could technically leave it at the original company the whole time, but once you cancel your account with them then they will probably delete your zonefile and your site will no longer work.