One big thing that blocks me for my current project is the lack of putting positioning constraints on the layout.
Let me explain it:
when you make a design with buttons and leds. They must often be placed at specific location relatively to each others. This is currently impossible in most PCB design programs (Eagle,Kicad, gEDA…). Without that it is very difficult to create a good looking PCB.
Also, to make capacitive touch PCB, it is a nightmare (along with the lack of curved path but that is another story).
By the way, that functionality is standard in tools like Catia from Dassault Systems (3D CAD ) and possible with opencascade (www.opencascade.com - 3D CAD engine with available source code).
BTW : I am a developper