It seems like a switched jack would be a straightforward way to make pins do "double duty" in a uC-based application. That is, the "normally closed" connections of the jack could connect the programming-related pins to the application circuit, but when the "programming cable" was connected, you wouldn't have to worry about interference from or damage to the application.
Is this done? If not, is it b/c switched jacks are just way too expensive for this use? Is the wiring just too long and noise-sensitive? Other reasons?