I have tried both "normal" folding and rolling, and haven't found either of them to be that great at avoiding crumples.
The problem with normal folding (e.g. folding your top in four by folding in half vertically and horizontally) is that you end up with quite a big "square" of shirt/T-shirt afterwards, which is very susceptible to crumpling unless it is kept perfectly flat. Even just having a not-quite-jam-packed case can be enough to let the clothing move around and then get crumpled.
The problem with rolling, though, is that the end that you start the roll on can end up quite crumpled because it's wound quite tightly. Especially if you've got something crumpleable like linen, or a dress shirt. You can mitigate this by going very slowly and carefully, but I find it tedious.
Here's a method that I've found to work much better for me. It's almost a cross between rolling and folding. I'll show you how to do it with a T-shirt first, then discuss how to adapt it to shirts in a minute.

First fold both sides in to make a narrower garment. Then fold the top and bottom in to the middle. I usually allow a little space to give it "room to bend" when you make the final fold. Then simply fold those two halves together and you end up with a very nice compact garment that stacks nicely with other clothing in your bag or case. It's almost a little "brick" of clothing.
For a shirt or a long-sleeved top, you have to deal with the sleeves after folding the sides in. Just fold them down parallel to the edges of the shirt:

(viewed from the back of the shirt)
Then continue as before.
Personally I find this gives me the benefits of rolling without the downside of "start of the roll is actually lots and lots of little folds". In particular, with shirts, a lot of the early folds are along the seams of the shirt, where they are less noticeable, and then the later folds are around several layers of fabric, so the folds are less sharp.