I use the same safety razor I use for my face. Blades are cents a piece and, having got the hang of it, it is pretty straightforward. I do it before my shower using shaving soap, and can shave against the grain below the knee and with the grain above.
I suppose a caveat is that I never had particularly hairy legs. My arms only have vellus hair, so if you're more fuzzy your mileage may vary.