I had those same thoughts! It's difficult to decide the best way to do it. If it's too easy to farm parts it's not as satisfying. But maybe just increasing the likelihood of a mutation (maybe guarantee at least 1 mutation?) would make things go a lot faster, and would still require replaying races, which I think is ideal. Either way, nice work!
Question: how did you implement the car behavior during races? Did you use a navmesh? or use Path3Ds? Sometimes the cars realistic performed overtakes, which was really interesting, so I was curious what you used to make them follow the track