Is there a difference in coding data processing stuff in transforms vs collate_fn?

Is there any reason to choose one vs the other? I noticed that everything can be done in the collate_fn which I thought was more conceptually nice since everything was in one place (specially for my complicated data processing custom class).

Or is there a real performance reason (i.e. runs faster) for choosing transforms vs collate_fn? What are all the advantages and disadvantages?