In my former job as an IT Technician/Grunt/Wireslinger, we did a number of phone system installs. I recommend going through someone with plenty of experience, and Asterisk based systems are extremely robust, solid and capable. With a good programmer backing the system in use, you can get follow-me features/calling, dialing extensions to cellphones, cellphone inbound calling to specific extensions (employee-specific greeting when they call from select numbers like cell or home), exceptional call tracking, call record exporting... an incredible array of features, honestly.
I would go with the opinions of those who have already advised GUI based Asterisk systems, and absolutely host it on-site wherever humanly possible. The initial cost of server hardware, phones, etc can be a bit daunting, but the long term savings, flexibility and functionality more than makes up for the cost. Hosting off-site invites a world of latency issues you and your salespeople should never have to mess with; for them it should just be a phone call, not an echo fight.
Most importantly, listen to the advice of the provider you decide to go with and weigh it with a grain of salt when it comes to phone choices. We always advised our clients to switch to true VoIP phones (usually Snom for a balance of cost/effectiveness). An added benefit? Get rid of that ridiculous, hideous wiring rack your oldschool PBX needs. Run Power Over Ethernet switches for your phones and skip out on the power bricks; it all depends how far down the rabbit hole you want to go.
The benefits with a good development team go even further; fax to email was a godsend, and some of our clients with many locations could not believe how much cheaper inter-store calling got when it went from going over land lines to being just an IP transaction.
EDIT:
Also, your receptionist(s) will fall in love with a good system. When I left we had recently set up a few clients with a click-and-drag user interface for their receptionist, so she could drop calls to extensions and monitor if someone's line was busy, if they had grabbed their voicemail or not or with clock-in/clock-out know if they were even there. All based on someone's name on a screen, not a hasty scribble on a tiny line, and they got to use regular sized phones instead of some monstrosity spanning the better portion of their desks.
Our brilliant (and insane) lead programmer was an Asterisk sorcerer, and simply had his phone paired to his PC, and it would report to the server when the pairing was broken and assume he wasn't at his desk, and just pass all the calls to his cellphone. Like I said, find the right programmer and just about anything is possible.