Yes it is possible to build a preference center, but you have to fool the landing page a bit. Create a service call ____Preference_Center. In the landing page select options check preload visitor data, reconcile by email, filter email, update strategy "Update", then click specific service and enter your preference center service you created above. Then copy the html into your landing page. That should get you started.
<form name="Preference" class="form" method="POST" autocomplete="off" data-nl-format="datetime">
<div><label class="stacked required" id="HtmlPage_htmlPage.email" style="text-align: left;">Email</label> <input class="stacked nl-dce-done" type="email" id="email" name="email" data-nl-ismandatory="true" data-nl-label="Email" data-nl-xpath="/context/profile/email" data-nl-type="string" readonly="readonly" data-nl-bindto="xpath" data-nl-checkboxbehavior="subscription" style="position: static; width: 448px; height: 25px; left: 0px; top: 0px; border-color: #555555; border-width: 0px; border-style: none; background-color: #fafafa; background-position: left top; background-repeat: repeat;" /></div>
<!-- List1 -->
<p> </p>
<div style="position: static; width: 448px; height: 21px; left: 0px; top: 0px; border-color: #999999; border-width: 0px; border-style: none; background-color: rgba(0, 0, 0, 0); background-position: left top; background-repeat: repeat;" data-nl-format="datetime"><input type="checkbox" id="ch1" class="nl-dce-done" data-nl-checkboxbehavior="subscription" data-nl-bindto="service" onclick="Box1Function()" data-nl-servicename="SVC*****" data-nl-servicelabel="Your Service Name" /> <span style="color: #0d0c0c;"><span style="color: #0d0c0c;">Newsletter<br style="font-size: 17px;" /></span></span></div>
<!-- List2 -->
<div style="position: static; width: 448px; height: 21px; left: 0px; top: 0px; border-color: #999999; border-width: 0px; border-style: none; background-color: rgba(0, 0, 0, 0); background-position: left top; background-repeat: repeat;" data-nl-format="datetime"><input type="checkbox" id="ch2" class="nl-dce-done" data-nl-checkboxbehavior="subscription" data-nl-bindto="service" onclick="Box2Function()" data-nl-servicename="SVC***" data-nl-servicelabel="Your Service Name 2" /> <span style="color: #0d0c0c;"><span style="color: #0d0c0c;">Blog<br style="font-size: 17px;" /></span></span></div>
<!-- List# -->
<div class="button"><a href="#" data-nl-type="action" data-nl-format="datetime" style="position: static; width: 100px; height: 50px; left: 0px; top: 0px; border-color: #ffffff; border-width: 0px; border-style: none; background-color: rgba(0, 0, 0, 0); background-position: left top; background-repeat: repeat;" data-nl-action="next">Update Preferences</a></div>