How can I estimate wind speed and direction in VFR?
I used to do this when I was flying in the bush on floats, where there is very little time for planning and you are in a flying environment where you are living by your wits (which is what made it such great fun).
The only thing that really works to any (limited) degree, just by observation in the moment, is to look for bodies of water and observe the telltale signs of the surface winds.  Wave or wavelet size, streamer markings, lee side shoreline wind shadows. Or better, smoke columns from fires.
The wind typically veers (rotates clockwise) with altitude, so if you see a lake or someone burning something that suggests the wind is blowing on it from the west, with signs that suggest it's blowing at, say, 10kts, you can expect it to be more northwesterly the higher you go, and faster.  So if you guess the wind is 10kts and 270 at the surface, you can expect it to be maybe 300-ish and 20-30 kts at, say, 4000 ft.
Those are just signs that can help you make a better wild guess.  In the absence of any ground signs, the only other thing you can do is hold a constant heading for a couple of minutes on a timed run between two points, and note the difference between heading and track, and difference between ground speed and TAS.  Ground speed same as TAS, wind is at 90 degrees to your course (or velocity is zero), less than TAS it's forward, more it's behind. Ground speed less than TAS and significant crab angle to the left, the wind is quartering left/front.  Lots of crab and minor GS penalty, closer to 90 deg off your left, less crab and more GS penalty, closer to straight ahead.
With a bit of practice you should be able to make an educated guess on direction within maybe +/- 30 degrees and velocity +/- 15 kts.  With everybody using moving maps these days, these are skills that are becoming long lost.