llLookat dont have any delay.
A function may not have any built in delay such as llSetRot does, however consider the following,
By the time the call is sent to activate the script, the script starting and running, sending a call to the agents (viewers within given distances) and viewer producing the required animation ie, turn to look, (all this being sent across internet lines) any script running llLookat is surely going to take more than 0.2 seconds.
I think 0.2 seconds should be fairly acceptable, besides it would take longer than that for the turn animation to ease in, turn, ease out of the anim.
In fact looking at the list of built in delays, we might see the logic, here is a couple...
llGiveInventory has 3 second delay, and
llTeleportAgentHome has a 5 second delay, it seems to me that these delays are built in for the purpose of allowing the transaction to be completed before the script continues, else risk a new command interfering with the action just called.
In any case the delay doesnt actually delay the function, it delays the script AFTER the function
Each of these functions performs its task first, then delays the script
Also bare in mind that each event carries a default delay of 0.1 second, so a script with 10 events is always going to take one whole second to complete a single iteration of the script (this answers a question about a strobe light I have had for some time)
By default the delay is .1 seconds between the end of an event and when the next event is fired off
The workaround for this is to put each event in a separate script.
All this information was taken from http://lslwiki.net/lslwiki/wakka.php?wakka=ScriptDelay