It seems like you've run into limitations in the frameworks you've used, not in the MVC pattern itself. In ErlyWeb (which I created, so I'm biased -- but not too biased), components are implmeneted by a controller module and a view module. Any component can include any other component. The controller decides which subcomponents to include, and the view decides where to put them after they've been rendered. This design makes it natural to separate a page into different controllers + views that can be reused in other pages. It also maintains the MVC philosophy that the controller should decide what should be rendered, and the view should decide how to render it.
MVC is an elegant design pattern, but I think an MVC framework must provide a simple way for components to include other components. Otherwise, I can see why you would find it frustrating that your main controller has to do all the work.
MVC is an elegant design pattern, but I think an MVC framework must provide a simple way for components to include other components. Otherwise, I can see why you would find it frustrating that your main controller has to do all the work.