Struggling with rotating CharacterBody3D with mouse input

My reply in this thread about rotating a camera might help you.

For the speed cap you can use a setter and clampf e.g.

var rot_x: float:
    set(value):
        # change min and max (-1 and 1 in this example) to whatever values make sense for your game
        rot_x = clampf(value, -1, 1)