You can do it that way if you want, but I think my way (converting required gradient directly to minimum climb rate without bothering with converting to angles) is a lot easier. I suspect more folks remember their 4-function arithmetic than those who remember their trig, but YMMV.
I'm with you here, including using the E6B.
And how quickly one covers distance along the hypotenuse is irrelevant, as is the angle... in fact, except in perfectly still, consistently "standard" air with a good autopilot flying, neither of those will be constant anyway. The other stuff will probably not be constant either, but we need to work with
something, and we're not planning to clear said obstacle without some extra room, just in case.
All that matters is time to reach X altitude, flying a specific heading, given all factors including wind, and the horizontal distance derived from the groundspeed, once the time is determined. I mean, that's where the obstacle is: a given horizontal distance away on a specific heading, and a given vertical distance from the start-of-climb altitude.
I don't even sweat the gradient
per se, just the result: "Obstacle is X ft MSL (including a safety margin); at Vy (under these conditions) it will take XX minutes to reach that altitude... distance (horizontally) to obstacle is XX miles; at my estimated GS it will take XX minutes to cover that distance. Can I make it? No? OK, then try it at Vx, or maybe plot two or more climbs (with a turn somewhere), or plan to climb in a circle for XX minutes then head towards the obstacle on my course. Can I make it (at Vy) it in a straight line with more extra altitude than I need? Okay, then let's try a cruise climb, to avoid wasting time (and distance) climbing."
Other than the climb performance numbers and the crosswind component, it's pretty simple skull-work, even for a math-impaired pilot such as myself.
Then there's usually a "put slight dogleg in course to avoid all that stuff" option...