i had a similar problem and it ended up to be a bad ground... the negative terminal on my battery was severly corroded... heres what happened with mine though...
i drove it a few times and then the car wouldnt start at all... sometimes, lik eyou said it would crank really slow, sometimes not at all... sometimes it would crank normal but would never start...
i picked up a code scanner tool, pluged it in, cleared the codes, same problems persisted. Pluged the scanner back in... started the car and it started no problems... unplugged the scanner and the car died immediately... tried to start the car with no scanner... it didnt do anything... plugged scanner back in... car started right up... unplugged scanner and it died LOLOLOL
it just ended up to be a corroded battery terminal HAHAHAHA i dont know how, or why it started with the scanner tool, it must of over rode something... anyway you sound like you have similar problems like i had... check / clean those terminals relaly well! or check the connection to the starter as well, along with the ground for the starter... something may of became loose...
