I think some of the people here are very black and white - I couldn't be arsed dealing with the inevitable fall out of going NO WAY JOSE, but I think odd and other's polite firm nos are really good.
Also, I would really encourage you to make a few rules in your head and stick to them, whatever suits YOU. So, if she asks you on the day, you always say no, e.g., 'oh no I'm so sorry, I can't now, we have plans! You should have asked me BEFORE the day itself!'
There's no way she'd be able to bad mouth you as it's so reasonable, it leaves her scrambling to arrange last minute care as opposed to you scrambling to provide last minute care. It'all be in her own interest to sort her act out, and since she's only interested in her own interest, she soon will.
Likewise saying 'oh sorry, we can NEVER do fridays' with a smile and not budging.
And 'oh sorry dc are going swimming now on tues'. It's about being cheerfully assertive not aggressive. You can build up to this, start weaning her off now!
ALSO, i would answer a text asking to care for them by saying 'I'm not sure if I can take them tomorrow, just let me check. By the way, on the same subject could you take them next Monday? I have to work late/unavoidable appointment'. Put her ON THE SPOT. And if she says no, say 'oh well, no worries, and on the same subject I have now realised I sadly can't take them tomorrow WHAT A SHAME SO SORRY.'
She needs to realise that family childcare where in laws have similar needs is a quid pro quo, not a one way street, and since she'll never come to that conclusion herself (since she hasn't had to) you need to firmly nudge her into it.
I know that to some people this would sound like a faff, but personally I find the big rows associated with turning round and shouting NO counterproductive in many ways, far better to analyse what you want and act kindly but decisively to get it. Better for the kids too. Nb I have a dearly beloved one-way-street-childcare relly so I know what I'm talking about!