I am currently working for a small business (we have 5 employees at the moment) and are looking to set up a VPN. I was wondering if it would be extremely difficult to set up a VPN ourselves and to look after it ourselves without having an extensive background in network engineering? What are the pros and cons of going for a paid service over maintaining it ourselves?
Depends on what you're comfortable doing; when starting to "professionalize" our office network for a similarly sized business, I set up a pfSense Firewall behind our modem, and assigned it routing tasks for the office. All you need is a machine to dedicate with a few NICs and you're on your way. It's pretty well documented online, and I haven't had an issue finding support when I've needed it.
Once you have that installed, you can use the OpenVPN package to easily route the traffic you want to your network from anywhere in the world. The only steps besides setting this up on pfSense would be allowing traffic through your ISP's modem, which shouldn't be too difficult either.
I'd say give it a shot! It's been rock-solid for us, and we run it in production now for our datacenter rack as well. It also never hurts to have a little more experience under your belt, and you could look to it as a cheap learning experience. The added benefit is when you want to do this, you can set up a VPN tunnel to your hosting provider, and then you'll have full access (on the terms you decide through firewall rules, etc) to your infrastructure more easily in the office.
Setting up a VPN can be pretty easy, many routers have some built-in VPN functionality already.
VPN is a broad topic and we don't know what your needs and constraints are, because you didn't tell us. You should probably hire a consultant to help you get it set up and find out what your needs and constraints are; this shouldn't be a service that you pay for on a recurring basis however, just a one-time job.