Game director Jeff Kaplan talks about seasonal items:
Seasonal/Event items will only be available through loot boxes earned during the event period and you won't be able to get them after the event ends. You won't be able to buy them with gold or money either. You just have to wait for next season if it returns.
Note about the new Anniversary event:
This event may be more unique than the others, but the temporariness of the event and its items remains the same.
You’ll earn Anniversary Loot Boxes as you play, plus pick up a free box when you log in between May 23 and June 12, 2017. Anniversary Loot Boxes are also available for purchase—but they’ll be locked away after the event ends.
Blizzard announced that the Summer Games event will be returning with some new and some old skins further indicating that these will be reoccurring events with annual opportunities to acquire skins etc.