Just another way using `MapApply`:

    MapApply[Function[{x, y}, If[x > y, 1, 0]], Transpose[List[list1, list2]]]
    (*{If[a > x, 1, 0], If[b > y, 1, 0], If[c > z, 1, 0]}*)

Another way using `Map`:

    If[#[[1]] > #[[2]], 1, 0] & /@ Transpose[List[list1, list2]]
    (*{If[a > x, 1, 0], If[b > y, 1, 0], If[c > z, 1, 0]}*)

Another way using `Outer`:

    Diagonal[Outer[If[#1 > #2, 1, 0] &, list1, list2]]
    (*{If[a > x, 1, 0], If[b > y, 1, 0], If[c > z, 1, 0]}*)

Using `Thread`:

    If[#[[1]] > #[[2]], 1, 0] & /@ Thread[Greater[list1, list2]]
    (*{If[a > x, 1, 0], If[b > y, 1, 0], If[c > z, 1, 0]}*)

Just using `Thread` in a simpler way::

    Thread[If[Thread@Greater[list1, list2], 1, 0]]
    (*{If[a > x, 1, 0], If[b > y, 1, 0], If[c > z, 1, 0]}*)