I would say they mean roughly the same, but the subject of "do wonders" - almost always followed by "for..." - normally is not human, whereas the subject of "work wonders", not normally followed by "for", is normally a person or group of people.
My gardener has worked wonders in my garden.
The theatre company have (/has) worked wonders in bringing this to the stage.
Try this face cream, it'll do wonders for your complexion.
He used to have an anger problem, but I told him to bite his tongue and count to 3000, and it's done wonders for him.
Having said that, you can use them interchangeably to a great extent. I think if you're unsure, use "work wonders".