1. Depends on the VPS. Sometimes shared hosting can actually be better if you are on a good host. VPS you are usually capped at the amount of memory and CPU you can use. The main reason to switch in my opinion is if you want more control on what is installed, you want root access to your "server" etc. Other than that, I don't think you will see a lot of difference. I have a VPS for my server and host 6-8 websites, some wordpress, some simple sites and it works well, but I mostly made the change because I wanted to be able to do whatever I wanted and configure my virtual hosts how I wanted etc.
2. You are going to want to use rewrite rules to modify the paths of your files. If you are just looking at getting rid of the PHP at the end pretty simple rewrite rule there. Try this in .htaccess file in the root of your site.
Code:
Options +FollowSymlinks -MultiViews
RewriteEngine on
# to make `/path/index.php` to /path/
RewriteCond %{THE_REQUEST} ^GET\s(.*/)index\.php [NC]
RewriteRule . %1 [NE,R=301,L]
RewriteCond %{THE_REQUEST} ^GET\s.+\.php [NC]
RewriteRule ^(.+)\.php$ /$1 [NE,R=301,L,NC]
RewriteCond %{REQUEST_URI} !\.php$ [NC]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule . %{REQUEST_URI}.php [L]