For now, I'm changing the visibility of the panels. However, I have a GCombo which overlaps the panels when it's expanded and I would like to make sure it's on top.
Is this what you mean? Although possible the GPanel component is supposed to be float above the GUI components on the main screen.
When a GUI component is created it is registered with the PApplet object so Processing is then responsible for calling the components draw method. It does mean that the order they are drawn is dependant on the order they are created.
This has always caused me a problem in that the GPanel and GCombo components can overlap other G4P components making it difficult for the library to determine which component to use.
Several versions ago I added an attribute to help determine the depth of the component and used this to work out when the focus is transfered from one component to another. It was not used to control the drawing order. This caused the bug you discovered GTextField objects on a GPanel object refused to release focus. This will be fixed in the next release in that the GTextField object will release focus if you click on a GPanel surface or another component on a GPanel.
The next version will also enable the user to avoid the situation shown in the picture above. I also intend to include your idea of controlling the depth of the floating panels.