Andy Cleaver springs to mind: http://www.act-chamonix.com/booking.asp
although reports suggest that service has suffered a bit as he has expanded. I think it is worth confirming your trip with any of these services the night before and make sure you print any booking reference you get on the Web.
Here is another alternative: http://www.alpybus.com/home
I’m not sure the “public transport” service from Geneva is much cheaper and as Bandit says, trains are fiddly, especially on a Sunday. You need to change at St Gervais and probably at somewhere like la Roche or Annemasse as well as in Geneva for the airport train. I checked on the SNCF.com website and they list no trains, just a six hour bus journey. Nightmare.