I've mashed overnight in my grainfather. The idea was to set the mash off on a Friday evening so that I can have a shorter brewday on the Saturday (kids, etc). A typical schedule might be:
50C for 30 mins (or however long before I remember to go back)
64C overnight
76C for 15 mins
Since working from home, I've tended to prep the water on a Thursday night and delay heating until the morning so I can mash in quickly when I wake up. Have a cuppa, sort the kids out, move to the next mash step which I hold for the whole day. When I'm ready to brew, I then mash out whilst heating the sparge water.
Efficiency has been great with all styles.
If you don't have a grainfather, using an inkbird to control the mash could work although it won't be quite so accurate.