Have you setup some easy way to verify the timing is off (maybe visual cue in your UI)?
I've found that the audio trigger needs to be one of the first actions called in an event to get really tight timing.
In one of my tests, I had about 10 actions stacked up and got slightly delayed audio. Simply moving the play sound action to the top of stack made it work.