I dont know if this is a smart way to do, but I always do these via spawning the child objects as their own separate blueprint actor. In your case I would have a placeholder for the usable in the maincharacter, that is not existing in the game. When the usable object (flashlight) is turned on, I spawn an actor to the location/rotation of the placeholder, and when its not needed anymore, I destroy the actor.
If its a third person view game/object in game where you actually see the flashlight all the time, I have the flashlight on belt for the main character for example, and make it invisible at the same time, when the used object is spawned, and visible when the object is put back to its original position. Might sound fishy, but visually it works at least.
I havent been able to juggle between attachments properly either, as I would in 3D software animations with keyframes and blends etc. so I have used this solution instead. BUT! I am not saying this is the best way to go…someone might have better answer.