I need to add some custom properties to a document set. Is there an ootb way to do this or inheriting the content type is the only solution?
It depends on what you see as an ootb solution.
A Document Set is a 'special' content type with
If you can do it for a regular content type, you can do it for a document set, since it's 'just a content type'.
If you want your custom fields to be shared to the document types in the document set or shown on the welcome page, have a look at this Visual How To for a highly detailed definition.