The explicit formula for cup product on group cohomology is as simple as can be. For simplicity let's consider integer coefficients H*(G;Z), although this works for any coefficients as long as they're untwisted.
Let's define group cohomology using inhomogeneous cochains; thus we take the abelian groups Cn(G;Z) := functions from Gn to Z, endowed with a differential d: Cn -> Cn+1, and then Hn(G;Z) is the usual cohomology ker dn/im d_n-1.
Anyway, cup product is a map from Hk(G) tensor Hm(G) to Hk+m(G), and it comes from a map Ck(G) tensor Cm(G) to Ck+m(G). Namely, given two cochains f: Gn -> Z and g: Gm -> Z, define
f/\g: Gk+m -> Z
by
f/\g(x1,...xk+m) = f(x1,...xk)g(xk+1,...xk+m)
You can check by hand that the differential interacts with this operation by
d(f/\g) = df/\g + (-1)k f/\dg
Thus this "wedge product" of cochains descends to a product on group cohomology, and this is exactly cup product. This is also how cup product is defined for de Rham cohomology; differential forms have a natural wedge product which satisfies d(f/\g) = df/\g + (-1)k f/\dg, and so this induces the cup product on H*(M;R).
Topologically, cup product is the composition of
Hk(Y) tensor Hm(Y) -> Hk+m(Y x Y) -> Hk+m(Y)
where the first map is the Kunneth map (just pullback by the two projections Y x Y -> Y), and the second map is restriction to the diagonal. Applying this perspective to group cohomology, we would first define f x g : (GxG)k+m -> Z by
f x g ((x1,y1),...(xk+m,yk+m)) = f(x1,...xk)g(yk+1,...,yk+m).
Upon restriction to the diagonal G < G x G, f x g restricts to f /\ g above.