I use NordVPN, but it may not be the best, it was just the first one I found and they had a good 3 year deal, so if I paid I gotta make use of it.
I would not recommend running your own because the advantage of having a "professional" VPN is that it gives more security, if I ran my own I would have another computer (server) to worry about, while when I pay for one they have to worry about their own security. For example, when gaming online if they get the VPN IP and try to hack them it is not my issue.
RE: I use a VPN not for anonymity, but for security