Rotate an object in all directions using the mouse

Rotating an object is rather straighforward:

Image from Gyazo

After that, the user needs to be able
to click on certain areas of the
object

Child Actors Components sound like the most obvious solution if the attached elements need to define their own unique logic. Depending on what is required (complexity of the shape of the object, modularity, scope) you could have sockets on a static mesh and add Child Actors Components procedurally.

I can’t use the default templates
since they always start from a user
pawn (first person, third person etc).

I do not know what this has to do with anything.