I have the solution now. Just required a little more effort on my part. Thought that I should share it.
When we have x, y and z as matrix arguments as in the following, just gather all the indices together to get the 3D coordinates of a point.
% front
surface([-1 1; -1 1], [-1 -1; -1 -1], [-1 -1; 1 1],'FaceColor', 'texturemap', 'CData', t1 )
The x, y and z matrices above are equivalent to (front face of a cube) :
[(-1,-1,-1) (1,-1,-1); (-1,-1,1) (1,-1,1)]
Similiarly, the top face becomes :
[(-1,-1,1) (1,-1,1); (-1,1,1) (1,1,1)]
Ridiculously simple. I should have arrived at this a lot sooner.
Ravi