The frequency of car spawning is defined by the "carrate" field in a road's config.txt file.
A carrate of 0 equals a no-traffic road. Otherwise, the value is the number of seconds (?) between each car spawning. The value must be 3 or higher. So, a carrate of 3 (the lowest-possible value) means that a car will be spawned every 3 seconds (?). A carrate of 15 equals 15 seconds between each car spawning, 30 equals 30 seconds, and so on.
Note again that the carrate is defined per road asset. As a result, you have to decrease the value of the carrate field in the config.txt file for an individual road asset. So, if you have a set of 4 or so roads that differ only in the center lines (e.g. a set to build a passing zone), you would have to change the carrate field in the config.txt file for each individual road in that set.
I remember from adding custom cars to some of my layouts using TrainzObjectz that there is/was a carrate field defined in the config.txt file for maps also. I do not know exactly what effect this has on the roads in a layout (all of which might have different carrate values), or if it would even work in newer versions of Trainz, but you could try it out by adding, say, a "carrate 3" field in to the config.txt file for one of your layouts, and see what it does.
Regards.