@simontatham not exactly an interactive tool, but msc-generator has a "block diagram" mode where you describe positional constraints for nodes and edges in the source file (align a node to the top of another, put it below, to the left, ...).
If you're ok with closed source tools, yWorks yED may do what you want. Place the nodes manually and then use Layout->Edge Routing with one of the proposed algorithms