Sadly, no, they don't. The lack of easily installed and good quality self-hosting options is probably the single biggest barrier to more people doing this. Most people don't use Google Mail because they're particularly fond of Google; they use it because it's convenient.
Running a real mail server (an SMTP host), in contrast, is certainly not something for the faint-hearted.
Running a mail store, with some sort of automatic fetching from an ISP or third party mail server and some sort of forwarding to send mail via that server, is a bit more practical for those who don't want a full-time job. Then you can provide things like IMAP or webmail access on top. Even so, it's still prohibitively difficult to actually get it set up and working reliably if you're not already a reasonably experienced system administrator, particularly if you don't have a dedicated machine to run it so you can't just install someone's turnkey package that assumes it can install or modify whatever it wants.
If you believe this is not the case, I invite you to link to some instructions that could reasonably be followed even by someone who is generally technically competent (but not an expert sysadmin) so they could host their own mail, contacts and calendar locally instead of using something like Google Mail. I suggest that no such instructions currently exist.