@whturner: Could you identify one of the objects in Masstricht, as I can’t see any obviously stacked tunnels.

@jptolosa87: sharing nodes is definitely wrong, as it indicates connectivity. Although it is a pain, I think you need to put layer tags on the nodes as well. You can use filters in JOSM, to allow you to access a single layer at a time.

You can also stagger the joins, as I did for this spiral ramp: https://www.openstreetmap.org/way/467030041

As I remember it, simply filtering ways based on layers prevented JOSM snapping to untagged nodes.

I wouldn’t try to map this with iD.