Any properly configured VoIP system can and should provide a voice quality that is better than regular POTS / PSTN (old copper wire phones), not to mention cell phones. Consumer grade VoIP service is, unfortunately, seldom properly configured.
Better voice quality can be achieved in two ways. First, make sure that your the uplink of your asymmetrical connection is not eaten up, as explained at Consumed Consumer. You will know you are having an uplink problem if you can hear the other party well in VoIP conversations but they complain you are breaking up.
Secondly, make sure that you configure your router to give priority to VoIP calls via Quality of Service (QoS) settings, as shown below:
If your router does not allow you to implement such settings, you might still be able to install an open source firmware that unlocks such settings, such as DD-WRT.