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]}