In a project I've previously worked on, the preference centre was managed by the site and data was stored in the site's DB. People's preferences would be pre-filled from the site's DB and where email preferences were updated and saved in the DB, the site also triggered a REST API call to Marketo to update their record. If you're already using REST API in your site, why don't you use it to update their their preferences?
... View more