an easy way to start is to lay a foundation by using a wall or fence, and get up tight so they can't roll out. Most will roll that way caues it brings the head closer to you, rolling in takes their head away and most won't do that naturally.
If that doesn't work, i would go back to regular sits and make them longer ones. Give your dog a chance to roll, when she does, "no" and I nudge a little with my foot to get them back to correct position. Usually I have that problem with the long down, not the sit, but i'm sure that dog is coming for me someday. anyway, when they correct the position mark and reward.
You'll probably have to nudge a few times, but rather quickly she'll probably correct herself when you let her know she's in the wrong position. It's important to catch those immediately and mark, and be consistent. Never reward for a lazy sit again, or ever accept a lazy sit for anything.
It might not hurt to change the command too, because right now, sit has been sit, lazy or not. Changing the command and teaching that being lazy is never correct might be easier. She knows sit, so the action won't have to be "learned", but it will be different. I use "down" for home, they can lay on their side if they want, but "platz" means down and pay attention to me for 15 minutes if need be, but don't lay on your side and chill out. Same action more or less, just different expectations and execution.
Good luck.