As Günter Zöchbauer stated in the comments, each of the three ways you listed of creating singletons are the same. Use your personal preference to choose one.
I’m going to add some additional notes:
SingletonOne
when instantiated looks like any other class. So you could use this one if you want to hide the fact that it is a singleton (and leave the option to make it not be a singleton in the future). You could also pass in arguments in the constructor.SingletonTwo
would allow you to do other work before returning the instance.SingletonThree
is the shortest, and short clean code is desirable in my book, all other things being equal.