I have used Gulf Horizon Hotel, behind Standard Chartered Building to get a Tourist Visa for my cousin . Its simple, pay 350 Riyals in the morning with the passport copy and your ID Card, for which they give you a RECIEPT saying Visa Charges and they get it done by evening. They even have extended the visa for my cousin for a week.

I believe its legal to get a Visa through the Hotel, as they issue one a reciept for this service, strange laws we have here.