Maybe that's what you have in mind already, but you could do an interface à la Borland C++ Builder (or Delphi): you can drag and drop controls (from a pre-defined set), and for each control on a skin window, you can access to its properties in an "inspector" dialog. For example, for a button, you could choose the action in a dropdown list, and possibly let the user enter his own action; you could specify the x and y attribute or let the user move the control to the place he wants; etc... Generating the XML would then simply be a matter of turning the control properties into XML attributes.
That may require quite some work, but it would be really cool!
I hope that you won't give up like dionoea