Both PartDoc and AssemblyDoc derive from ModelDoc2, so there is really no difference between the 2.
If you already have an AssemblyDoc variable (let's call it swAssy), declare a new ModelDoc2 variable, set it to the AssemblyDoc and then you will be able to get the CustomPropertyManager from it:
Dim swModel As ModelDoc2
Dim swMgr as CustomPropertyManager
Set swModel = swAssy
Set swMgr = swModel.Extension.CustomPropertyManager("")
That makes so much sense. Thank you!