FAXCOMLib is usable as a Fax driver on Windows computers without an external device. The Fax logic is built into the software. All you need in the computer is a RJ11 port, a telephone port.
I'd say if you want to programmatically send a fax, just use FaxComLib and don't worry about the external fax-capable printer. And using FaxComLib from .NET/C# is prety straightforward.
There may also be a way to programmatically invoke a printer driver; in fact I know you can do this in WCF. On the other hand, that wouldn't be through FaxComLib; it would likely be through some other interface, or at the last resort, it would be through the UI Automation classes in Windows.