I haven't used efax.com, but you have to keep in mind that these providers only have a limited number of phone lines. Depending on the time of the day and the quality of the provider, your outgoing faxes may be queued for a while before they're actually sent out.
If faxes are time-critical, I'd always go with a local solution.
If not, I'd probably look into VoIP services. A lot of them offer software faxing, and they're usually a good bit cheaper than efax. sipgate.de for example charges 3,90€/mo for voice+fax service and 1ct/min for web faxing.
If you want to do it locally, you can just install some fax gateway software on a small server, put in a fax modem or ISDN card and have it act like a network printer. It'd also be possible to route incoming/outgoing faxes over VoIP, so you're not blocking any phone lines.