With the patch most of the JSF and Richfaces components work in Liferay portal (did not find any that does not). With the patch https://issues.jboss.org/browse/RF-11055 FileUpload works as well (in the portlet app we must define FileUploadExternalContextFactory as the factory to make it first in the queue)
LIMITATION: only ajax page navigation works not the full page refresh.
Tested with the SUN JSF implementation. The jsf.js had to be changed in order to make it work in a portal environment and also with full page refresh inside a portlet.
With the change script and link elements will get id attribute and the client side js will only update those that do not exist yet on the page.
Some general source code formatting was made on the classes I worked (tabs to spaces on the beginning of lines) that is why the patch got a bit bigger.
If you have any question why I did a change and where please do not hesitate to ask.