Short answer
Well, it seems that you can't.
Long answer:
Reference Panels:
You can only use Reference Panels. This only works for panels obviously, so you can't use it for inputs, for example.
Furthermore you can't customize your reference panel. For example, if you want to change the drilldown behaviour from row to cell in one specific dashboard for that referenced panel, you can't do it.
SplunkJS:
I think you can add a div id="some_id" and create a javascript view associated with that id. Obviously, you are managing client-side something that should managed by server. This is a problem if security is a concern for you.
Advanced XML:
I think you can do modularization with Advanced XML, but for what I know its usage is deprecated.
Conclusion:
Django bindings seem to be the only way to have a proper template system in Splunk. This, IMHO and without offence, makes simple XML completely useless.
... View more