However, for 2 particles collide, you can always define a 2D coordinate system (the plane formed by v1Xv2).

So it is always a 2D problem. You just need to find the projection of the 2D plane into 3D coordinate.(And this is the easiest way to do.)

Just like this 2D collision simulation. I transfered the problem into a two 1D problem. And it is make the problem simpler. (I did not solve the 2D problem directly.)

How to transfer a complicated problem into a simpler one, is one of the purpose for learning physics. ;)