In my experience it is much easier to handle timed events in blueprint based off of events thrown from code. Have you tried throwing a BlueprintAssignableEvent from code for starting and stopping your sprint, the having the event graph interploate the camera shake between the two states?