This depends on whether you are using a physical or chemical sunscreen. Check the label – if it lists Parsol, mexoryl, oxybenzone or avebenzone as an ingredient, the formula is chemical. If it does not contain any of these and lists zinc oxide or titanium dioxide, it’s a physical sunscreen. If, however, it contains ingredients from both categories, treat it as a chemical sunscreen.
Physical sunscreens (also known as sunblocks), on the other hand, create an opaque barrier on your skin and won’t allow any other product to work effectively over them. So, if you put moisturizer over sunblock, the latter will stop the former from being effective. Plus, the act of putting on the moisturizer or serum over the physical formulation can give the sunblock a patchy effect, thereby reducing your sun protection. So it should be serum (the lightest product always goes on first), then moisturizer, then sunblock.
And yes, between serum and moisturiser, serum goes on first. If you are also using an essence, that would go on before the serum. Another rule of thumb: wait a minute between putting on each product. This way, you will allow them to absorb fully and also stop pilling.
Any kind of makeup – like foundation, concealer and powder – would go on last in all cases. Unless you’re using a powder sunscreen (check out the best ones here!), which can be brushed on right at the end, in place of setting powder. Powder sunscreens are usually mineral based and won’t clog the pores, making them perfect for those with acne-prone skin. Added benefit: You can reapply every couple of hours (as you know you’re supposed to be doing!) without disturbing your makeup.