The usual problem is the lower bearing plate starts floating in the stamped aluminum motor side frames as the factory staking works loose over the years. This will cause the armature to hop violently and the brushes to jump around in their holders. This typically makes it run much better in reverse, & sound like a coffee grinder in forward.
The old Lionel fix for this was to "dent" the side frames with a punch, some shops used cardstock jammed in to firm up the plate.
I have had good luck using tiny black anodized self-tapping screws into drilled pilot holes to hold the bearing in place.
For a non-destructive fix, which has held up very well for me for several years now, use CRC QD or any non-residue contact cleaner, clean ALL oil & residue from between the sideframes & the bearing, using the nozzle to spray into the crevice. Dry it out well, several hours or overnight with a light airflow.
Now use the regular "thin"(not gel) CA adhesive("Super Glue", Eastman 910, etc.) and flow the cement into the crevice on both sides, letting it creep in by capillary action to fill the gap.
In about 10 minutes, the loco is ready to be lubed(grease on gears, oil on pivots & bearings/axles - don't forget to grease the lower armature bushing below the worm) and will run like new.
The way your diesel is running now is indication that it needs nothing beyond this fix and just regular maintenance.
The newer equivalent motor assembly for this engine is the 8354-100 which came out in 1973:
It is a steel frame instead of aluminum, collector rollers built in, & has Zamac wheels with traction tires instead of MagneTraction, but they are very smooth runners and somewhat quieter due to the Nylon/plastic worm wheel & intermediate gears. They come up for sale on eBay occasionally.