There are three main methods of obtaining TRs. The first, as you mentioned, is via completing raid battles. There are a set list of Pokemon which can give out the TRs for Thunder or Blizzard, which can be found here and here, respectively, if you're interested; however, the general rule for TRs is that Pokemon tend to give out TRs that match their own type, so your best bet is to challenge any Electric or Ice type raids you come across.

The second method, again, as you mentioned, is through traders in the Wild Area. The traders actually have a set formula that the game used to determine which traders will carry which TRs on which days; I won't go into the full formula here, but essentially, it depends on the first TR that a trader in any given location is offering. To determine when and where a trader will be offering the TR you're looking for, you can follow this link and plug in all the necessary information to get your answer.

Finally, if you've purchased the DLC and are willing to venture over to the Isle of Armor, you can try your hand at the Cram-o-Matic. This also follows a similarly convoluted formula, by assigning every item a Pokemon type and point value; again, I won't drive into it here, but to calculate what you'd need to input to get the TRs you would like, you can head over to this link here: just put in your desired output, and then fill out the potential input fields to see what you'd need to input in order to match your desired output.

Sources are already linked in the answer

Hope this helped!