I recently had a play with lip synching. I must admit I thought it would be extremely difficult to do but I was surprised actually how relatively easy it was. I'm not sure I would like to try to do it with Primary age children though but who knows, if I get a child that's G&T in this area...
I'll just go briefly through how I did it. I recorded the voice in Moviemaker and then, using a spreadsheet I set up one column with frame number and another with time, based on 16 fps (0.0625 sec per frame). From the Moviemaker voice, I got the times of each syllable and added this to another column. Then, using 4 basic mouth shapes I took the mouth shape that corresponded best to the syllable.
This is what I mean:

Here is the result: