I used OpenVPN.
Didn't have enough time to build custom client wrapper. So our customers used some openvpn client, or viscosity.
We had about 400 registred clients, of course not all were active and paying.
Getting paying customer is quite hard. Some people just register. Others register, pay, but do not start using. Some of them use service for 2 months, then leave. After 2 months they come back.
There different requirements, but most of people want super easy install process. But all of them have different network configurations, so even with simple client you will have to spent time helping people to start using service.
My service was low-end, it was 3$/month.