I've been playing with DipTrace on and off... so far, I'm liking it's features. Haven't gotten to defining my own part yet. It seems very powerful and lots of editing options... It's fugly though on an OSX, and hate seeing the C:\Program Files\blah blah blah directory structure.
I dumped expresssch because I got the impression that I would get stuck
On the schematic, you draw wires to connect things and give them a Net name.