As the others have stated above, they are more or less interchangeable. However, "weird", though not informal, is less formal than the other two.
So, if you are speaking with friends for instance, any of the three will do; in a piece of writing however, it would be better to use "odd" or "strange".
When used as an adverb however, such as "oddly" or "weirdly" as an example, sometimes one is more appropriate than the other, purely based on the sound of the sentence (as opposed to grammar). I illustrate this point with the below examples:
1. "Oddly enough, I was just thinking this exact same question." - appropriate
2. "Strangely enough, I was just thinking this exact same question." - appropriate.
3. "Weirdly enough, I was just thinking this exact same question." - sounds a little weird.
1. "People have been acting weirdly around me today." - appropriate
2. "People have been acting strangely around me today." - appropriate
3. "People have been acting oddly around me today." - does not sound as good as the other two.
======= =======
Some synonyms you may appreciate (purely for the benefit of your vocabulary):
Uncanny; peculiar; anomalous; bizarre... There are plenty to choose from! Indeed, English is a curious language :-D