I think that at 3, he should be potty trained, but I also think that by 3, you've far missed your window to easily potty train him, and now you have to either suck it up and put him in undies, toss the diapers, and go full force... or suck it up and probably have a 4yr old in diapers still fighting it.
I wholeheartedly agree with your MIL.... you should have started 6mos ago (or a year ago). Obviously its too late or that now, but at 3, he should be trained so go for it. Be tough, the more wishy washy you are, the more defiant he'll be about it. If you don't want ot go full force, then wait it out, but he'll probaby not be trained for quite some time yet... kids have ot be trained to be in preschool, and I'd probably want it out of the way a good year before he starts Kindergarten too.'
EDITED TO ADD that yeah, I realize I don't have the popular opinion, but I have two boys, both out of diapers before age 2, with zero problems, no pressure, no forcing. My youngest is 3, and he wlaks himself to the toilet, gets his own pants down, goes himself, wipes himself if needed, gets his own pants back on, and flushes, washes his hands, and i most of the itme don't even know when he uses the toilet during the day. If my 3yr old cna do all of that, any 3yr old can at least be out of diapers!