It is possible (at least starting from version 2.2.1) to extract images and style sheets of a particular topic and dynamically access them through code. I believe there is a Primefaces component in version 3 that does this for you, however.
Below is an example of how I understand this.
<link type="text/css" rel="stylesheet" href="#{request.contextPath}/themes/#{sessionScopedBean.theme}/skin.css" />
You can use this existing theme as a template and make changes as you wish. You can also change the theme property of a bean session to dynamically change themes.
source share