For code consistency and readability I would use sencha components as much as possible. I would also attempt to use the lowest level component I could and extend the custom functionality i needed. For instance in this case, I agree a carousel might be overkill. I would extend the Panel class, configure it with a card layout, ad a rotate method that would automatically set the active card. soemthing like...
Code:
MyPanel = Ext.extend(Ext.Panel,{
layout:card,
items:[
{html:'html1'},
{html:'html2'},
{html:'html3'},
{html:'html4'},
{html:'html5'},
....
{html:'htmlN'},
],
interval:500,
intervalId:null,
rotate:function(){
var next = this.items.indexOf(this.getActiveItem());
next = next >= this.items.getCount() ? 0 : next;
this.setActiveItem(next);
},
startRotating:function(){
this.intervalId = setInterval("this.rotate()",this.interval);
},
stopRotating:function(){
this.clearInterval(this.intervalID);
}
})
I think the biggest gain is maintaining the object oriented architecture and the maintainability that comes with it. Thats my two cents. But am still learning as well.