I posted on this subject 3 years ago but had to start a new thread as the old one is now closed.
I just finished replacing the gears on my Lionel CC Niagara with the bronze ones Mike Reagan had made up for us owners. Thanks again Mike for the gears.
While I had it apart I decided to try a driveshaft made up of a pair of all metal Universal Joints. These can be had on the unnamed auction site as well as Amazon ($$$$) and some local hobby shops. They are bored for 4mm on each end, same as the motor and gearbox shafts on the Niagara. Each is about 23mm long so paired up they are 46mm. The Lionel driveshaft is about 43mm max so I had to shorten them by removing about 1 mm (.04") from each end. I used an 8 mm long by 4 mm diameter dowel pin to join them. This gives a snug fit and keeps them on center.
Pictured below are are U joints before shortening, after shortening, the original Lionel one, and one from Stock Drive Parts that I used to replace the Lionel part up to now.
The SDP U Joint is described here. While only 37mm long its long enough to join the shafts securely.
Here is a picture of the dowel pins used. I milled a flat in them to reduce the likelihood of slipping.
And here is a pic of the driveshaft in the engine.
In case you forgot why replacing the driveshaft is a good idea here's what can happen to them.
Pete