I used this fancy one-liner:
svcadm disable openfire; cp -pr /opt/openfire /opt/openfire.backup; rm -r /var/sadm/pkg/JSopenfire ;pkgadd -d /root/JSopenfire-3.5.0-ALL.pkg; svcadm disable openfire cp -pr /opt/openfire.backup/conf/ /opt/openfire/; cp -pr /opt/openfire.backup/embedded-db/ /opt/openfire/; rm -r /opt/openfire.backup/plugins/admin/; cp -pr /opt/openfire.backup/plugins/ /opt/openfire/; cp -pr /opt/openfire.backup/resources/security/* /opt/openfire/resources/security/; svcadm enable openfire
It basically shuts down openfire, copies the install directory to a backup, removes the package manifests for the old version, installs the new package, shuts the new install down, copies back your configs.
This worked for Openfire 3.4.5 to 3.5 using the embedded database and no enterprise plugins.
enjoy (comments welcome),
Blake