I just tested this and the query seems to work for me. But I think I see the problem: the various WordPress query selectors work either on names (slugs) or IDs. If the wrong type of argument is provided, WordPress will ignore that part of the query and show all results.
In the example above, ‘category__in’ uses IDs, so it would need to be something like ‘category__in=1,5,7’. For names, use ‘category_name’ instead, e.g. ‘category_name=red,blue,green’.
There are some examples of the various selectors in the docs, or the WordPress codex page.
Be careful to also match the underscores – some selectors use two and some use one.