The food change could really be the culprit, especially if the vomiting started right after the switch! But three weeks is quite a while - usually intolerances show up in the first few days, while his body is still adjusting to something new. The fact that he's vomiting almost every day though isn't normal, and honestly I'd try going back first and see if the problem goes away. If the vomiting stops within a few days, then it was definitely the Purina that wasn't working for your cat.
If it continues even after you've switched back to Royal Canin, that means there's something more serious going on - it could be stomach inflammation, a blockage, an allergy that developed in the meantime, or other conditions that have nothing to do with food. In that case you need to take him to the vet as soon as possible, don't wait any longer! Daily vomiting isn't something to brush off.
In the meantime, if you decide to test the old food, do it gradually - mix some of the new with the old for a few days, so his stomach doesn't get shocked. And pay attention to whether the vomiting always happens a while after eating or if it's random. Anyway, if the problem persists after going back to his previous food, the vet is your only option!