It's easy enough to implement in httpd.conf or conf.d, but I wouldn't recommend it.
One point that's often missed in the 'gripe session' threads about domain canonicalization --where the posters complain that Gooogle or other SEs should 'handle it' automatically-- is that "www" and non-www are not the same host.
Technically, "www.example.com" is a subdomain of "example.com" and need not contain the same content. There is absolutely nothing special about "www" -- it is just another arbitrary subdomain name, like "search" or "shopping" as used on major portals.
However, in the old days, "example.com" was used as the 'intranet' doamin for employees inside a company, while "www.example.com" was the publically-accessible Web site. This made the distinction clear, and made it easy to set up a firewall to protect the private intranet.
Now, with the commoditization of Web sites, the distinction is not clear if there is no 'intranet' -- that is, if there is no separate server space for private company use on a site. This is much more common now that anybody can have a domain and a Web site, and they're not reserved for large corporations any more.
So, the problem you would face is that some users would want "www" as the canonical name, some would want the non-www version, and some might want to keep both so that they could have separate content on the two hostnames.
If you take a look at some of the aforementioned canonicalization threads here on WebmasterWorld, you'll see that the split between those who prefer non-www vs. those who prefer www means that you'd make a good number of clients (or potential clients) unhappy.
Best practice would be to leave it as a cpanel settings, but emphasize in your customer welcome letter and FAQ pages that picking one or the other is highly recommended.