It depends on the feature sets you need. My opinion is that Liferay is the most polished one.
I also tried JBoss Portal and Liferay. Now it seems that eXo platform joined JBoss community and it will be merged into JBoss Portal. This fact at the same time it means that JBoss Portal weakness and if you wait some time maybe JBoss Platform will be more advanced.
Anyway, at this time Liferay has the most advanced features and it has a very flexible access control mechanism.
jsr168 means that the portlets should be independent of the platform. So, if you pick liferay, try not to overuse it's features. Isolate specific liferay items where you can. That way you could switch portal platforms in the future.
Specific liferay items would be:
- the way the links are created, liferay portlet.tld implementation
- portlet configuration files (liferay-portlet.xml, liferay-display.xml, liferay-plugin-package.properties)
- liferay apis
- user and group management
- liferay cms, image gallery, docs gallery, blogs, wiki contents
- liferay themes, skins, style elements, images
- liferay modified jquery, and other js libraries
- page links