Here I basically sculpted the pucker shape and connected it up via expressions.
Here are some tips to help sculpt rough pucker shape.
1. use sculpt deformer and move locator and sphere to center of mouth.
Then move sphere out of mouth pushing lips out a bit.
2. make the shape in 1 feed into a clean blendshape copy of head. Try
to fix corners and get rough pucker shape.
3. make the shape in 2 feed into a clean blendshape copy of head. Try
to use clusters on a few vertices for rotations (can move pivot of cluster to center of mouth to get rotation from that pivot).
4. Tweak vertices to make the pucker shape.
5. We only need to work on half of a pucker. Then mirror blendshape. I wrote a custom mirror blendshape tool. It needs a copy of the base mesh and a partly sculpted shape (both need to be at origin)... it figures out to put the shape on the other half... Feeding a clean mesh into both halves makes the whole pucker shape.
There are lots of ideas of mirroring blendshape.. search for "wrap deformer mirror blendshape" should give some ideas. The tool I wrote moves vertices directly in MEL and hence is probably slower than other methods.
Hope these tips are helpful.