I've tried lots of different phone systems and still haven't found a good solution yet, but hopefully my experience is instructive:
RING CENTRAL: RingCentral provided a toll-free number for me. Their interface is awful and they're just generally not that innovative, but they accomplished the task for $15 / mo or so. I wouldn't use them again, but only because there was no "wow."
GOOGLE VOICE: Google Voice is hit or miss. The connection is spotty, the dial out sometimes just doesn't work, there's a slight delay in the connection when answering etc. It is promising as a personal product, but nowhere near business quality. I've tried on two occasions...and both times got frustrated and needed to switch. Contrary to what others have said, you can have a phone assigned to two Google Voice accounts, but one must be marked "home/office" and it won't be able to send or receive SMS messages. It's confusing because I'm sure they're trying to avoid this use case.
GRASSHOPPER: I have been using Grasshopper for 3 months after hearing recommendations from Jason Fried and Mixergy. I find their interface to be really unintuitive and difficult to use.
They have great support, but I had to rely on it too often. I called 5-6 times to set up basic Google Voice functionality (route calls to my cell phone, have voice mail). The Java program for recording your voicemail greeting was wonky and broke often. The recording was poor as well. They encourage you to hire voice actors to do the work, but I want my voicemail to sound like a human, not a radio robot. They should simply allow you to upload an MP3.
There's no good way to dial out. With Google Voice you can log-in to the web app or use their mobile app. With Grasshopper, the only way to dial out is to call a number first, then dial the number you want to call. With this approach, sometimes connections were refused that were later successful from my cell phone. Nice people and I love what they're doing with Chargify, but I plan to move to something else...
TWILIO: I considered Twilio and will most likely use it for other aspects of the business (click to call, sms follow-up). But I ultimately decided it was better to use a solution designed for this purpose rather than spend developer resources making Twilio work for us. It will be cool to see applications built upon Twilio that solve problems like this.
LINE2: Line2 looked interesting, but recently had crippling DDOS problems and is iPhone only. It also seems best suited for a single person consultancy rather than a company.
ONSIP: I recently decided to make the move to OnSip. They were also recommended by Jason Fried. Since they are essentially just providing virtual PBX via SIP, you can choose from a wide selection of phones, apps from third party developers etc. So I plan to purchase an office phone (with a cord!) and use that during work hours. When I'm not in the office, or for off-hours, calls will be routed to my cell phone and I'll use an iPhone app to dial out.