I was in a similar situation like you a few months ago and made the switch to VPS. Yes it's more expensive, but the speed advantages are definitely noticeable and well worth it. Also, if you go with a few companies that specialize in VPS or dedicated hosting, their support will be better as well. Very handy if you are like me and frequently bug support with questions...
Anyway, I read a ton of reviews and tested 2 VPS hosts before going with my current one, myHosting.
- Hostgator: That was my first VPS host because I had shared hosting with them...I only noticed a small difference after switching, and felt like strangling their support.
- Inmotion Hosting: Excellent speed, amazing support...not a single thing wrong with them.
I would have stayed with Inmotion, but then found out about myHosting and they had an amazing 3 months free hosting coupon I found on some guy/girl's Twitter stream. I also checked websites for hosting coupons, but a lot of them seemed outdated. There's a guy on Twitter called "WebhostingD" who seems to update hosting coupon offers daily in his stream. If I were you, I'd switch to VPS given the requirements you posted...not sure if WebhostingD's current offers, but you might wanna check out if the 3 months free offer with myHosting is still going (it's like 52c/day after that, very cheap).
I forgot to mention, myHosting offers full cPanel support and moneyback guarantee in case you're like me and prefer testing a company first before committing for good. You can cancel easily and get your money back. The speed difference from switching to VPS will be significant, it was for me...