Blizz. will save the frame but if the user removes the addon for any reason, it will reset to the default location if they decide to install the addon again.
Lua Code:
btn:SetPoint("CENTER")
btn:SetSize(100, 40)
btn:SetText("Click me")
btn:SetScript("OnClick", function(self, button, ...)
btn:SetMovable(true)
btn:RegisterForDrag('LeftButton')
btn:SetUserPlaced(true) -- Only works if the frame is created before the PLAYER_LOGIN event