A vertex coloring is called distinguishing if the identity is the only automorphism that can preserve it. The distinguishing number of a graph is the minimum number of colors required for such a coloring. The distinguishing threshold of a graph $G$ is the minimum number of colors $k$ required that any arbitrary $k$-coloring of $G$ is distinguishing. We prove a statement that gives a necessary and sufficient condition for a vertex coloring of the Cartesian product to be distinguishing. Then we use it to calculate the distinguishing threshold of a Cartesian product graph. Moreover, we calculate the number of non-equivalent distinguishing colorings of grids.