I would never say "officially sanctioned" but the way I have always done this through my plugins is to pass self.actual_plugin_ into my ConfigWidget constructor, from the config_widget() function in __init__.py. That gives you access to your Action class from the ConfigWidget class, so of course you can then access the .gui variable on it. You can see the code in ReadingList and most of my plugins for that passing.
That is what I use, but if you don't need the action class for other reasons then there is also another way Kovid made available some months ago, by doing this:
Code:
from calibre.gui2.ui import get_gui
gui = get_gui()