Actually I tried to use the Cheetah inheritance feature in the start of PyDS. I failed miserably - don't know wether it was a bug or my stupidity or both, though ;-)
There were some weird things about the inheritance that got me to change over to the way I now do it. The templates are actually quite simple - there are *Template.tmpl files, that describe your desktop. There are *Rendering.tmpl files that describe your clould. There are Base*.tmpl files that describe your outer layout (where to place what). All other templates are for tools and carry the tool name in their filename.
Templates are in a very simple way: the tools push their contents into the tool template. What comes out goes into the base template. The rest is just pushing around objects and prefilling the template namespace.
So for layout changes you mostly work on the Base*.tmpl files, as they define your layout. The others are more "push this out of the code" templates. But the template situation is still a bit weird with PyDS, as not all areas are templated (many tools don't use templates but could make use of them: for example the aggregator should be changed to templates one day, so you could influence your aggregator layout better).