Fastest way to move vertices with python
foreach_set() is actually very fast but not usable in my case because I'm not always going through all vertices in all cases.
It seems that the "for" loop is the best way to go.

Using bmesh actually is a little faster because it doen't refresh the scene each time the script changes the location of a vertex.

Thx @CoDEmanX and  @MikePan for the help.