With shared hosting, you’re sharing a server and that server’s resources with a bunch of other websites. With a VPS, you’re still sharing some resources because that’s determined by the hardware, but the software itself is set up in such a way that one machine acts like multiple different servers, providing a different virtual server for every user.
Moving to another website consists of transferring the website’s files and databases, configuring your site with the new host, and directing your domain’s DNS to the new host. Once you pick a new site host, they can usually help you out with this process. The cost will depend on the host you’re switching to, but it will probably be anywhere from $150-$400.