This problem can have many causes, from chronic hair balls to food allergies. Sometimes diagnosis is made by trial and error. The good news is if this has been going on for “years” and the cat maintains its weight and otherwise thrives it is not likely a life threatening problem. Trying a hairball laxative orally once a day for two weeks to see if it abates the problem would be a good trial. If it solves the problem reduce the frequency of treatment slowly to see how often you can use it to abate the problem. There may be a gastric motility problem. The drug metoclopromide can treat this issue by enhancing gastric emptying. Food trials with hypo-allergenic diets require 4-6 weeks to see if they are successful. Sometimes we consider treatment a success if we can merely reduce the frequency!