If you do decide to switch his kibble, do it very slowly. How old is he?
I would also get his pallet checked at the vet, because of the vomiting issue. Occasional regurgitation is normal but it sounds like he's doing it a lot which is not. Maybe a slow feed bowl will help him too.
Snacks I feed good grain free treats, and frozen green beans, fruitables, bananas, ect.