Besides getting a few decent defenders (e.g. some from this list) one should focus on building a team of strong attackers. Which attackers and how many of each depends on personal goals. If one wants to do level 2 and 3 raids solo and higher raids with the minimum number of players, a full team of optimized counter-Pokémon at high levels is required. If one only wants to battle gyms or contribute a bit in bigger groups, a small team of good generalists, such as Dragonite, Tyranitar, Mewtwo and so forth is enough.
A good first approach is looking at attacker tier lists, e.g. at Gamepress (Link). The attacker tiers not only include raw DPS, but also consider how many favorable raid matchups a Pokémon has. One step further is to start using Pokébattler’s Pokébox feature, which lets one enter a specific team and test it against raid bosses. This way one can find out what your current team is capable of and what the optimal lineup of Pokémon for a given opponent would be (see 9 Pokébattler Guide)
A good way to quickly acquire large amounts of candy for a specific Pokémon family is visiting so called “nests”. Many public parks and specific areas are classified as a nest, which means that one specific Pokémon spawns more frequently in this area. In contrast to normal spawns they are not dependent on the region or biome but are rather from a pool of all nest-Pokémon. This pool includes the majority of Pokémon with a few exceptions of rare species (e.g. Dratini, Larvitar, Mareep, etc.) and legendaries. The nest’s Pokémon usually changes every two weeks. The next likely change time can be looked up at the Silph Road Nest Atlas (Link, countdown in top right corner). If one lives in an area with an active community, most of the nest Pokémon will be reported on the map; otherwise you must check the local parks by yourself to see.
In addition to nests there are increased spawns for types boosted by the weather (see Weather Effects) and sometimes events with special spawns such as the Ghost-event around Halloween. There have been events with themes such as water, fire/ice, stone (“adventurer”), love (Chansey) and so forth. These events often also have increased spawn rates for rare Pokémon that usually don’t appear in the nest pool.
The goal when visiting nests and events, other than accumulating a lot of candies, is catching high IV and/or high-level Pokémon. Many level 2 and 3 raids can be done solo with Pokémon on level 30 even when they don’t have perfect IVs (e.g. 6 level 30 Espeon with average IVs 8/8/8 can solo a Machamp Raid). High level Pokémon often serve the purpose even without any investment and can save thousands of Stardust. They are a good basis for a team and can later be replaced by better attackers with high IVs which are worth powering up further. Visiting nests is even more efficient when the nest Pokémon is boosted by the current weather!
Besides nests, raids are the best way of quickly acquiring strong Pokémon. Raid bosses have above average IVs (minimum 10/10/10) and are usually the highest evolutionary form, so they can be directly used in battles. Raids up to level 2 can usually be done solo even by trainers below level 30. Most Level 3 raids can also be done solo, but often require a full team of good attackers around level 30. Level 4 raids require at least 2-3 players with perfect counters above level 30, but can also be done comfortably with groups of 5 and more. Legendary level 5 raids usually require 5 or more decent trainers above level 30 to be completed.
All those numbers are rough estimations and heavily depend on the stats of the raid boss. To get a good feeling for the difficulty of a specific raid one can check out Pokébattler’s simulations (see Pokébattler Guide and https://www.pokebattler.com/raids/). I personally run the simulations with counters at level 20 and level 30 to get a feeling.
So far non-legendary raid bosses have only changed once on 11/5/2017. Whether they are going to change like nests every few weeks or only a few times is not known at the moment.
Like raids bosses, hatched Pokémon also have above average IVs. The problem is that one can’t choose the Pokémon, and the chances of hatching the desired Pokémon are very low (roughly 0.4 % – 3 %, details). Doing raids is therefore more cost efficient.
For buddy Pokémon there is no perfect choice for everyone and every region of the world. Generally, one should walk with a buddy, that has a low distance per candy like Geodude/Golem or rare Pokémon that don’t appear in nests like Dratini or Mareep. Golem is the best pure stone type attacker at the moment and very good against the legendary bird raid bosses. Dragonite is the best “neutral” attacker with a lot of type resistances (but watch out for ice type moves!). Dragonite is often not much slower than the best raid boss counters and therefore very flexible as a team backup. These two are just examples and there might be parts of the world where they are more common, and one would choose another Pokémon instead.
The following example includes raid bosses that were available at the time of publishing. Since raid bosses can now change, one will have to work around that. Important Pokémon will sometimes be easier and sometimes be harder to acquire depending on their appearance in local nests and whether they are raid bosses.
A good way to start building a team is soloing level 2 raids like Exeggutor. This can often be done with Pokémon at level 20 and higher. Ideally the level 2 raid bosses can be used to start soloing level 3 raids such as Machamp. Machamp is one of the best general attackers at the moment and is the best counter to common defenders such as Blissey, Chansey, Snorlax and Lapras. It is by far the best counter to Tyranitar. A Machamp raid can be done solo with 4-6 Exeggutor at level 29.5 (extrasensory break point with 15 Atk IV, Source) or other good Psychic types such as Espeon and Alakazam. Getting weather boosted, high level Eevees and evolving them into Espeons (10 km as buddy before evolving) is a good and cheap alternative. Exeggutor is also the best grass type attacker and among the best counters to Rhydon and Golem.
The next goal should be to build a small team of good Machamps with two fighting type moves. It can be used to quickly clear gyms and for Level 4 Tyranitar raids. Once one has a sufficient number (around 4 at level 30 or 6+ at level 20), one can start doing Tyranitar raids with 3-4 trainers with a similar team (Source). Remember that quick reviving mid-raid might be better than fighting with 1 or 2 non-optimal counters if you don’t have a full team.
Tyranitar is a very powerful dark type attacker and among the strongest generalists in the game besides Dragonite and Mewtwo. It is also the best counter to a Mewtwo raid boss (watch out for Focus Blast!) other than Mewtwo itself. It is even theoretically possible to do a Mewtwo raid with 4 trainers and just level 20 Tyranitars (Source).