Hi Rayn,
Basicly the catalog applications runs on serialization with the exception of a few controls such as the property grid and binding navigator which is because of the binding source which needs to be optimized for serialization.
Regarding you regarding best practices I will try to publish an article in the next few weeks after I will be back from WPC, and we might event dedicate another show for actually doing a demo app live which handles data and serialization.
Regarding custom serialization it should be possible to use I will take a look on LLBL documentation and add that in to the article I will create...
Cheers,
Guy