Pour conclure, la réponse pour Plone 4 est vraiment d'utiliser des portlets basés sur z3c.form et de créer des fieldsets en héritant du schéma du formulaire à partir de plone.supermodel.model.Schema et en définissant les fieldsets en utilisant plone.autoform.directives.fieldset: https://pypi.python.org/pypi/plone.autoform#organizing-fields-into-fieldsets
Le support pour eux a été introduit dans plone.app.portlets 2.3 (alors que la dernière version de Plone 4 au moment de l'écriture est 2.5.1).
Il devrait suffire d'utiliser les classes de base de formulaire de portlet basées sur z3c.form suivantes au lieu de celles de formlib:
from plone.app.portlets.browser.z3cformhelper import AddForm
from plone.app.portlets.browser.z3cformhelper import EditForm
Il est également bon de savoir que les portlets basés sur z3c.form seront les valeurs par défaut dans Plone 5 (et les classes de base dans z3cformhelper deviennent les classes de base par défaut).