Eu uso o millis(), mas já vi pessoas relatando que usam outras formas também.
O problema do delay é que ele paralisa todo o sistema durante o tempo de pausa, inviabilizando operações em paralelo.
Tem algumas informações sobre o millis() no seguinte tópico: http://forum.fazedores.com/t/usando-a-funcao-millis-ao-inves-do-delay/1359