I've soft reset quite a few times and it always has 3 perfect Ivs, no more, no less. Will it always be 3, or is there a chance for more or less?
Yes
Diancie is Legendary Pokemon and like all others it can only have 3IV. Diancie is also unable to breed making EVERY Diancie have 3 Perfect IVs - by the way every single Pokemon unable to breed has 3 perfect IVs unless it is somehow hacked or a Special Event of some sort
Sources 1 Source 2- Myself - I checked all my Legendaries and all of them have 3 perfect IVs Source 3