We count the number of ways that some lane can be left empty, and subtract from the total:
Each driver has three choices, so it's \(3^6 = 729\).
Now, we count the ways where at least 1 lane is left empty:
\(3\cdot2^6 = 192\)
But we have double-counted the situations where two lanes are left empty. Since each driver only has one choice, and after the first all the other cars must fill that lane there are \(3\) situations we overcount. This leaves \(729-(192-3) = 729-189 = 540\) ways to fill all three lanes.
Also, you took this question directly from Alcumus. The source is AoPS Staff they wrote this problem, and might request this post be taken down since you technically are not allowed to post Alcumus problems on the internet or their own forums.