More or less, but it's important to note that when the predicate is false, the rule will not trigger at all. (This won't matter in your case but would affect things like "Wait" actions whose behavior is impacted by a trigger. It also allows the use of predicate conditions to capture specific state transitions, which again isn't something you appear to be trying to do.) To do this, a predicate condition has to create a subscription to the device in the predicate condition. When it becomes true, the trigger events are (re)suscribed to, and the opposite when false--perhaps for reasons of efficiency, though also because it shouldn't be necessary (they don't matter then). If any of the trigger events happen after the predicate condition becomes true (and before it becomes false again), then your actions will run as specified.
For a rule without a predicate condition, your rule actions run any time any trigger event fires. In your case, the rule without a predicate condition wraps the entire actions section in a conditional that says nothing should happen outside of that condition, so the outcome in either case should be identical. (These conditions are evaluated at the time of execution--no subscriptions to device events.)
If it's not, I suspect you might have a bit of a race going on in the rule with the predicate condition: say the time becomes sunset, making the predicate condition true and causing the rule to re-subscribe to the GE switch turning on. But then the GE switch, it sounds like, is also programmed to come on at sunset, and it's possible that this event happens before the rule is done re-subscribing to your triggers. (If you repeat these events enough times, you may find that sometimes these happen in the other order and your rule may actually trigger, though if the events are nearly simultaneous, there are no guarantees.)
I would probably use the second variation of your rule; that way, you don't have to worry about the above. In general, I'd probably recommend that most people stick to "traditional" conditionals unless there's a reason they truly need a predicate. In most cases, you could write rules with identical outcomes either way, so it doesn't really matter except from a "purist" point of view. But if my description of the sequence of events above accurately describes your situation, I'd say you've run into a case where it does matter.