How to remove the sign before the element

I am sure there are many ways to do this. One possible way could be

ClearAll[x,Fx];
expr = {-1, -2, +3, 4, -x, +x, -Fx[3], +Fx[3]};
Times[Internal`SyntacticNegativeQ /@ expr /. {True -> (-1), False -> 1}, expr]

gives

 {1, 2, 3, 4, x, x, Fx[3], Fx[3]}

What about

expr   /. y_ /; y < 0 -> -y 
(*{1, 2, 3, 4, x, x, Fx[3], Fx[3]}*)

Not as terse as Ulrich's replacement, but perhaps more robust:

list = {-1, -2, +3, 4, -x, +x, -Fx[3], +Fx[3], -Fx[-1], +Fx[-1]};

Replace[a : -_ | _?Negative :> -a] /@ list
{1, 2, 3, 4, x, x, Fx[3], Fx[3], Fx[-1], Fx[-1]}

Updated for your latest example:

list2 = {-1, -2, +3, 4, -x, +x, -Fx[3], +Fx[3], -Fx[-1], +Fx[-1], ±Fy[-2], ±Fy[±x]};

Replace[{a : -_ | _?Negative :> -a, ±a_ :> a}] /@ list2
{1, 2, 3, 4, x, x, Fx[3], Fx[3], Fx[-1], Fx[-1], Fy[-2], Fy[±x]}