I've actually been looking into this a lot recently. There are a lot of Help Desk solutions out there, but I've found most are designed for internal use and either work only ok or not well for servicing external customers. The current buzzword I've learned for what we are looking for is Professional Services Automation, or PSA. It's software designed for MSP's as a step above systems designed as internal Help Desk, with better job costing report capabilities, specifying customers who have different rates, warranty and service plans, technician scheduling and calendaring, etc. All those things that matter to a service provider but are not that important for an internal Help Desk system.
The most interesting solution I found so far is The Project System. I'm pretty sure I heard about it from a post here on IPVM. It's a modular software system designed for low voltage installers with modules for end to end management of almost ALL aspects of a business, including CRM, inventory, quotes, etc.
If you're looking at a cloud based solution, make sure they have a way to backup or pull out all your data if you leave their service! I almost got excited about one for it's features and price and then found out they had no method for you to pull out your data.