Make sure you also pay attention to the distance rating of the SFP. I had a very similar experience with modules not working at the right speed sometimes. Turned out I was running 50 meters of cable over a 30 meter SFP. Got the correct one, and as low wattage rating as possible and it's been rock solid ever since.
btw, if you are using 10gbe copper modules, take a look at their temperature. some of mine were getting to 92C i think. had to put a bunch of heatsinks on them
I put a couple of Noctua NF-14 over the top ventilation holes in my rack, with the silicone mounting thingies and the NA-FC1 PWM controller. They are almost silent in winter. The switch with 10Gb copper is under the fans.
i opened switch and put noctua inside to cool sfp cage that i added heatsink to, in addition to heatsinks on sfp+ module itself. it dropped temperature from 92c to 75c. year later i replaced it with fiber run.