With the new theme system, inheritance makes the addition of more detail of control less burdensome (on the theme specifier). Could panel.margin gain two children: panel.margin.x and panel.margin.y so that the spacing between panels can be controlled separately?
Two references to wanting/asking about this:
This sounds like a great feature, but unfortunately we don't currently have the development bandwidth to support it. If you'd like to submit a pull request that implements this feature, please follow the instructions in the development vignette.