I've seen several verbs: konduki, stiri, veturigi. I've thought of aŭti too, and I just saw that ReVo actually suggests it.
Which one is the best? Do they fit in different situations?
To this list we can add ŝofori.
I've been asking myself this same question for close to 20 years and I've come to the conclusion that there is no obvious best answer. Each one at times seems to not quite to fit, and I notice that people tend to pick based on a number of factors, including the word that their Esperanto teacher used as well as national language bias.
Personally I say ŝofori, the disadvantage of which is that to at least some speakers this carries the extra nuance of "driving someone else around."
And yes, the suitability of some of the options does vary a bit by context.
konduki - This is a general word meaning "to lead." It can be used to mean drive a car.
stiri - Although sometimes used to mean "drive (a car, boat, airplane, etc), the meaning of the word stirilo very clearly is limited in sense to the actual steering. When someone uses stiri with the sense "to drive", I know what they mean, but in the back of my mind I'm wondering who is pushing the pedals.
veturigi - This has two meanings. To drive (a vehicle) and to transport (by vehicle). It's a good choice, but sometimes clumsy in compound words.
aŭti - This means "to go by car" and would not be used with an object. It also doesn't tell you who is actually driving.
ŝofori - This is my choice for the best general word for "to drive." It's true that PIV defines this as Labori kiel ŝoforo, but for various reasons, this is my preferred choice. I note that this is the word Claude Piron used in Gerda Malaperis, and that was a big influence on me when I was first learning.
The English verb to drive is an example of an English word that has multiple closely related usages/meanings, which should however be kept separate when translating the word to other languages (not only Esperanto).
One can use to drive with a vehicle as object, meaning 'to cause and guide the movement of (the vehicle)', as in "He is driving an old car". For this you should use konduki, veturigi or stiri, and certainly not aŭti or veturi. Here are the differences between the three words:
It is a question of style and personal preference to choose between these three words.
One can also use to drive with a transported person or thing as object, meaning 'to convey (the person or thing) in a vehicle', as in "I will drive you home". This is veturigi in Esperanto, and konduki, stiri, aŭti and veturi are wrong in this meaning.
Finally, to drive can also be used without an object, meaning 'to go or travel in a driven vehicle', as in "I drove to L.A. by myself". For this you can use veturi or aŭti. The latter one is more precise, as it explicitly mentions the kind of vehicle that was used.
Additionally, there is the word ŝofori, which derives from ŝoforo, a driver by profession. Given that it is derived from ŝoforo, many people understand it to convey a meaning of working as a driver or driving people or things around in a similar way as someone who works as a driver. Others however use the word just as a synonym of 'to drive', without any additional idea of profession-like driving.
Another doubt related to ŝofori is what it can take as object: What is clear is that it can be used both in an intransitive way (without object), or with the vehicle as an object. Some people additionally use it with a transported person or thing as object, while others consider this wrong.
I personally think that it is OK to use ŝofori with a transported person or thing as object, but that the word should only be used when one actually wants to convey a meaning of of profession-like driving, in line with the meaning of the word ŝoforo, from which it derives. It seems to me that the usage of ŝofori without the idea of profession-like driving only spread because some people had difficulties distinguishing the different meaning of 'to drive', and wanted a word that they can use as a translation of 'to drive' in all contexts. Instead of taking this "easy" solution that goes against the core meaning of the word root ŝofor/, one should learn to distinguish the different uses of 'to drive', and to translate them accordingly. If one just sticks to veturigi and veturi, it is not really that difficult: You just use veturigi whenever to drive has an object (no matter whether it is the vehicle or a person/thing that is being transported), and veturi whenever to drive doesn't have an object.