No it didn't. There is an obviously clear better choice in the situation, which is kill the tree spirit, which is defied as evil by everyone, even Geralt himself.
The kids were sent to the swamp because their parents had no food for them, they should be dead by all accounts.The witches eating them is just getting more use out of something before it would have died anyways. Letting the kids be saved by the evil tree spirit only results in a town being destroyed, when it has no reason to be, the baron and his wife dying, when they have no reason to, and the kids, who should be dead, being kept alive only to be used for evil purposes by the tree spirit.
There is no point in which not killing the evil tree spirit offers and equal ending to killing it, its unanimously worse by all measure.
No they weren't, they were utterly stock cliche character archetypes that have been used in not only games, but books, movies, and TV shows for ages.
I honestly can't see how anyone could call The Witcher 3's characters compelling unless they have somehow missed out on the last two decades of media.
The world is not your's its the game dev's, and the choices are not hard to make, as they lack the actual impact they would IRL because the real world is based off of randomness, while games are just designed.
Making choice in morally grey games is only as hard as deciding if the top fell or not in the end of Inception, which is to say not difficult at all once you realize the entire basis of the choice is fake. There is no more difficulty in making choices in orally grey games then there is in balc/white games, they are both equally fake, and both equally based on what does the player want at that time.