If the stain or dirt is on the surface, go with the soap and water first. If that doesn't work, try a vinyl cleaner available from Boater's World or West Marine. If the stain is from grease or oil, try paint reducer (sparingly) or paint thinner (also sparingly). Avoid a more aggressive solvent like acetone as it will eat at the vinyl. If the stain has penetrated into the vinyl, fuhget about it. You won't get it out. Most marine vinyls will repel stains and mold, but if the vinyl is dirty, mold can develop on the dirt and eventually penetrate the surface. No way to clean that. Good luck.
Simple Green or Grease Lightning to clean. Grease lightning is a little rough on some threads so rinse good after using. I have used Baby oil for years to protect the upholstery in cars and boats. It is slippery so you need to wipe the seats before going out.