In terms of performance, look and functionality, I have started using the DojoTabContainer. This allows for you to set a default tab on load, make a tab closable and (what you were asking for) programatically selectable.
This can be done using CSJS and works really well.
var side = dijit.byId("<id of tab container>");side.selectChild("<id of tab>");