How to obtain Sinnoh Stones?
As of January 2019, Sinnoh Stones can be received from 7 day field research rewards as well as trainer battles (one chance a day for Blanche/Candela/Spark, three chances a day against an actual person). Actually doing the battle is what is necessary - whether you win or lose doesn't matter.
Drops are not guaranteed and there may be new methods for obtaining Sinnoh Stones added at any given time - many of which may be temporary. Unfortunately, posting the actual drop rates here wouldn't be very helpful as the actual drop rates are changing without notice as drops are shifted around by Niantic.
You can expect the methods for obtaining the Sinnoh Stone to change over time.
it is possible to gain them from trainer battle rewards (I do not know if this requires you to win against another player).
If I am not mistaken, you can also get them from spinning a stop for seven days straight, but I am not certain.