While it's possible to use Tiles with
JSF, I've never had a whole lot of satisfaction in attempting to use Tiles even in
Struts. A better solution is to use Facelets, since Facelets functionality was merged into JSF for JSF2.
The actual error you're getting is thrown when you attempt to forward after the page has started rendering. I think Tiles may be partly to blame for that, since the very reason it frustrated me was its "inside-out" organization of resources.
That's not to say you can't forward from a Tiles app, but you do have to do the forwarding
before (or instead of) rendering the tiles.
The secret of how to be miserable is to constantly expect things are going to happen the way that they are "supposed" to happen.
You can have faith, which carries the understanding that you may be disappointed. Then there's being a willfully-blind idiot, which virtually guarantees it.