Make sure you have CAT 5 or higher ethernet cable, the connectors on the cable are solid (they don't come off by gently pulling them out) and the cables aren't long enough to get twisted.Also check if there's any dust or dirt on the ethernet ports (including your PC) and swipe them with alcohol.Things like cable being long enough to get tangled up or twisted, dirt and dust on the ports are most common cause for this type of issue, if it would be NIC or Driver, you wouldn't be able to get 1 gigabit connection even for a second, except if there is some function not working properly with your NIC (for example IPS/IDS or VLAN Hardware Filtering), in which case turning it off should fix that.Don't know why people always recommend switching NIC everytime it's not Intel, I have use old realtek NIC for about 3 years now, and I get clean 1 gigabit connection without any problems.
Have you replaced the cable? Is the current one old and/or home made?
Realtek NICs are not very good, especially when running FreeBSD. Replace with a decent Intel NIC and your problems should go away.
Just seconds after reboot I run a speed test and can get up to 800Mbps, a couple of minutes later it drops to ~200-300Mbps max.