It is always most efficient to farm money on the highest strength route when idling. When actively playing, it is not always most efficient to gain Poké by defeating the highest strength gym that can be one-shot, as some early gyms in later regions do not yield as high amounts of Poké per pokémon.