I think that the issue you are facing here is that you take the rotation from vector that the mouse hit result generates. This will not give you a value that represents the rotation from your actor to the hit result.
First: Setting the rotation of a pawn or actor is not something that should be done by SetControlRotation I believe. What you want to do is SetActorRotation. Do this by dragging of the player controller and GetControlledActor. From there you can set the controlled actor rotation.
**Second: **Try to experiment with a **FindLookAtRotation **node. What you need to get is your player actor´s location and plug it into the start of FindLookAtRotation. Then you plug in the mouse hit result vector into the target of FindLookAtRotation. This gives you the rotation that your playable actor has to have to look at the mouse location.
To create a smooth rotating movement you can plug your current actor rotation into a **RInterpTo **node as the current value and plug the FindLookAtRotation into the target value. The last setting is to plug delta time of EventTick into delta time of RInterpTo. The output is then connected to SetActorRotation. See screenshot below for visual guide (I have some differences in implementation but they are small).