Every now and then, my son can STILL be a fidgety reader!!! (He's almost 11!) What we like to do is - I'll read a page, then he reads a page (or I read one chapter/he reads one - however you can break it up. This also helps him learn how to use inflections when reading.) A few pages out - engage him in a brief conversation about the book (i.e."Oh... I wasn't expecting that! "Wow, this is....sad....funny....etc... What do you think he's going to do next???") Anytime you get to a word that is challenging - Stop. Ask if he knows what that word means - if he doesn't, immediately give a brief definition. Try to let him hold the book (two hands) if he is the one reading, especially if you are taking turns reading.
We have a general reading routine "soft blanket, nice couch and good lighting". I give a ten minute notice before we begin. When he was younger, there was always a beanie-baby that joined us. I have found that changing the reading time sometimes made a big difference for us. An hour before bedtime is usually MY son's best time to read. For us, just before bedtime, I sometimes lose him. Sometimes, even 30 minutes in the morning, before school, has worked nicely - keeps the morning quiet and prevents those awful fire drill mornings from happening.
This is not every night but more of a treat night when I want to squeeze in additional reading time. We'll change things up - sometimes we'll sit on the landing of our stairs, we've sat on a kitchen counter (dad's not home for this!), hallway, anyplace that looks pretty comfortable, cozy and different, we even move furniture around in the family room and get the fireplace roaring and make some hot tea. We've read in some odd spots!
Check with the teacher and see if she sees this with your son. See of she has any suggestions. As he matures, he'll also be more in control of his body movements. It's wonderful that you have patience. Keep making reading a fun activity!