It's also possible that, by now, there's other ways to get a palette's position and move it, but these are what I've been using.
So I position a palette where I want it, then trigger a macro that gets the palette's position, gets the front window's position, and stores the offset in a variable.
Then when I want to reposition the palette, I get the front window's position and move the palette to the appropriate offset.