What you have is called the "Classic Migraine", which is an intense headache, preceded by an "Aura" ,visual flashes or images in one or both eyes, which appear shortly before the migraine pain begins. This can be followed by nausea, sensitivity to light, noise, smells, and a variety of other symptoms. It may last only a few hours or for days.
Since you are having the Auras, and are having to take drastic measures(making yourself throw-up) to get rid of the pain, it's definitely time for you to see a doctor. Since you have only a few headaches a year, taking a preventative medication all the time probably isn't necessary for you. You would probably be best served by just having an "abortive" medication to take when the first signs of the aura start. There are a bazillion different kinds of abortive medications, so you should discuss your lifestyle and any current medications and supplements you take with your doctor. The most important part of this is to always have the abortive medication with (you at all times!) Most won't do much for you if not taken in the first half hour/hour of a migraine. Then you're in for the uuuugggggie part.
Hope this helps and let us know how you are doing.
Some really good news for you Chris is that since you experience Aura, you have a great indicator that the actual migraine is on its way and you can take abortive medications to get rid of the migraine and even nausea before it fully arrives. (Amerge, Axert, Frova, Imitrex, Maxalt, Relpax and Zomig are all good options) You could even discuss with your doctor something for the anxiety and even panic symptoms that you get when the Aura arrives...if relaxation and biofeedback methods are not enough for you something like Xanax or Valium would do the trick so you could relax and let that phase pass on and let the medication kick in.
Now, doing research on your condition is wonderful, being informed is one of the best things you can do-but have you seen a doctor and actually been diagnosed?
If not, that would definitely be your next step!
Let us know how things go?