Solidworks Defeature is a great tool for reducing file size and internal features of parts or assemblies that I do not want to share with customers. The Defeature function works well with simple parts and assemblies (typically just machined parts), but it seems to struggle a lot with complex castings, that have cast geometry openings and irregular surfaces.
I have used a competitors 3D CAD system over 7 years ago, and their ability to "shrink wrap" parts and assemblies far exceeds the capabilities offered by Solidworks. Defeaturing is not necessarily straightforward and can take many hours to produces acceptable results, as you need to guess and re-guess how the defeatured assembly will behave.
My suggestion is that Solidworks invests heavily in the Defeature capability, as it is badly lagging its competitor(s).
I love Solidworks modeling capability, but I need a tool that doesn't take so much time to produce a "defeatured" part.