At the start of operations on the S&BC, there was very little main line track to other towns. The entire layout pretty much was the Grand Forks town, plus the upper and lower staging yards. This resulted in some traffic to and from the local industries in Grand Forks, but most of it simply was interchanged between the CPR and the S&BC and went to and from the staging yards. Consequently, it made sense to operate the yard as a classification point in order to best handle the interchange traffic.
Now, with the addition of the new towns of Carson and Curlew that have in combination more industry spots than the entire layout had before, continuing to operate Grand Forks as a classification yard is proving to be a big mistake.
As an example, consider a car coming from staging destined to the sawmill in Grand Forks and the number of times it must be handled in the yard to get it where it is going. First, the car arrives on a through train that will swap blocks of cars in the yard and then depart. This train will not service the sawmill directly.
Second, the local classification switcher will move the car from the arrival track to the locals track. Cars for local industries are accumulated on a dedicated locals track rather than being moved directly to their industry so that the industries are only switched once per day instead of after every train that passes through Grand Forks. The classification switcher will also move all of the interchange cars to their various outbound tracks for pickup by other through trains.
Third, the local industrial switcher will move the car from the locals track and deliver it to the sawmill while also pulling any outbound cars from the sawmill.
For the reverse process when the car leaves the sawmill, three moves are also needed, first from the sawmill, then to the outbound departure track, and finally on the departing train. All of these moves mean that cars remain in the yard waiting for multiple switching moves before they get delivered or they depart. While this may be prototypical for a large yard, Grand Forks is much too small to follow this practice for any significant number of cars, and it will quickly clog up with cars that are lingering far too long between their first arrival and their desired destination.
There is another downside to switching the industries with a dedicated local switcher that can result in reduced operator play value. By having a place in the yard for all or most of the cars that are outbound from the industries to wait for their respective departing trains, the local switcher usually can simply pull all of the departing cars from all of the industries. This can quickly become a very simple and predictable switching operation, but at the same time moving a great many cars that can overwhelm the yard. Very few cars will have to be left in place at industries and worked around, something that might aggravate prototype crews, but can add to our play value.
A better approach is to have every train through Grand Forks do its own switching of the various industries. This means that the industries will be switched throughout the day, which is not prototypical, but consider the arguments put forth in the post on Selective Compression of Operations to support this. Cars will still be interchanged between trains in Grand Forks, but each train will leave cars for other trains, and they will pick up cars from other trains without the need for a middle-man switcher. As many have said, an interchange track is the Universal Industry as any cars can be delivered to it or picked up from it. For Grand Forks, there will simply be two interchange tracks, one for CPR and one for S&BC. Cars on these tracks will only linger in the yard until their respective trains arrive, rather than waiting for a local switcher to move them. This will always result in the absolute minimum dwell time for cars being interchanged.