Why do I have less than line voltage at a switch box?
You appear to have a bad connection in the ground wire somewhere.

With a standard switch loop, the Code requires the white wire in a 2 wire cable to be connected to the hot feed and be permanently re-identified as an ungrounded conductor. Most electricians just use some black electrical tape to re-identify the hot feed to the switch. Personally I like blue in this case as it is not used in a normal residential install so it stands out.

So, with the switch closed (on) you should not get any voltage between the white wire and the black. You should then get 120 volts from either the black or white wires to the ground wire. With the switch open (off) you should read 120 volts between these wires and 120 volts from the white to the ground wire.

You should re-identify the white wire as any color but white or green. Then look for a bad connection on the ground wire.

Good luck and stay safe!