Yes powershell does this by default. My Workaround is to use SQL Actions in powershell to update directly the Field stored in Database.
Yout can use following statement to update your workflow:
UPDATE [dbo].[WorkflowData] SET Data = '"+$data+"' where WorkflowInstanceID = "+$InstanceID+" AND FieldID = "+$FieldID+"