No, you don't have to go through a vet and you can do a cheek swab. From what I was told, if you do it this way, you can't 'register' the results on the OFA site.
You can find all this on their website. http://www.vdl.umn.edu/ourservices/canineneuromuscular/eic/ They even tell you where to get swabs. The sterile individually packaged swabs can be ordered online in boxes of 100. That is a lot of swabs, but the box costs next to nothing.
I have done my own at home and you won't get a VPI (Verified Permanent Idetification)number but it can be done. If you have a Stud Dog,I would advise to spend the extra money to have a Vet Tech do it. Talk to your vet they might offer a price discount on an office visit for this as you do not really need to see a "vet" a tech can scan your chip and sign off after the swab is done.
I educated my vet on EIC testing, she will draw blood for me no charge, if I am in the office for something else, for EIC testing. I just make sure I fill out the forms completely, and all she has to do is scan, verify, and sign.