Try avoiding too much moisturizer around the eye. Instead try an eye gel & wait a couple mins before applying any makeup.
Also, try this three-layer application technique:
Using a Q-tip, trace a line of neutral-colored matte powder or eye shadow around the circumference of the eye as a base on which you'll place the eyeliner.
Then, use a pencil liner in your desired shade and dot along the lash line, creating your desired shape.
Last, using a fine-pointed brush and an eye shadow in the same shade as the pencil you used, trace over the pencil liner, staying within the line you drew with the pencil. This may help as the matte powder will help absorb any moisture therefore longer stay and less smudging.

Also talcum powder works well!