I recently started using RailModeller on Mac OS X to create wiring diagrams. Below is an example for two trains operating in opposite directions. The red train (E1) loops around to C1 where it stops while the orange train (E2) loops around to C2.
I'm pretty happy with RailModeller (current version is 2.2.4) although it requires a lot patience and mico-managment of mouse motions to do the wiring digrams. Ideally you want functionality like OmniGraffle for the electical connections. But RailModeller does lay track really well and it's flexible enough to do the wiring and create new elements also even if it is tedious work.
I've enhanced the default Z "railset" that comes with RailModeller, adding mising function tracks and connection points to the couple that were there. More significantly I've created a "Märklin Z Accessories" railset with things like relays, plugs & sockets, power supplies, etc., mostly lifted from Märklin's 0294 track planning book. Those railsets, in English with 2005 prices in Euros can be downloaded here.
Thanks to MacRailSoft for making a nice program for the Mac. Click on either of the links below to download both Railsets. If you have any problems please contact me at the address at the bottom of the page.
Märklin Z English Railset - contains the Maerklin Z railset that came with RailModeller 2.2.4, with English descriptions, 2005 prices in Euros and the additional track sections pictured.
Märklin Z Accessories - contains the accessories shown in the picture with English descriptions and 2005 prices in Euros .
Two trains, opposite directions
click for full size diagram