there is a way of working with part families programmatically.
These functions exist in the old UserFunction world and they are "wrapped" to the .NET world, so you can use this functions in VB.NET and C# (as I do).
Have a look to the classes UFPart and UFFam in Namespace NXOpen.UF for functions like
UFPart.IsFamilyTemplate(), UFPart.AskFamilies() or
UFFam.AskFamilyData(), UFFam.AddMember(), UFFamEditMember.......
There you should find most of the things you are looking for.