So from all the other posts it appears that this is a problem with no true resolution.
From what I can gather, JSF buffers all output into memory so the output can be further processed by filters. So, downloading a large file results to an OutOfMemory Exception.
The Servlet is an easy work-around, but this should work in JSF. Should this be posted to the JIRA?
Also, has there been any development progress on this besides servlets.