Your code is a little weird. Meaning you use the x and y values in the wrong spots of the Vecotr. I'm going to assume you did this on purpose to get the cube to turn correctly. I would use the Rotate instead of changing the rotation value.
Here is a better than I can do: http://answers.unity3d.com/questions/255118/rotating-an-object-with-touch.html