I've managed to figure out that I can do this:
What I don't know how to do is create a re-usable Appearance object within the Visual Designer that can be assigned to multiple objects' appearance property.
The problem with the above is that it does not show up in design mode.
Has anyone done anything along these lines?
The Infragistics.Win.Appearance class does not inherit from Component. Therefore, you wont' be able to drop an appearance object directly onto a form. The property editor for a control is controlled by annotations on the property. If the property does not define an annotation for an editor class for that property then you will need to use the property sheet (or do it as in your sample code).
There are other ways of doing this by writing your own property provider extender.