hook_form_alter Save $form['account']['field_first_name'] into $form['profile']['field_first_name']
Got it! In my hook_form_alter function I added $form['#submit'][]='my_submit'; 

Then I created the my_submit() function.

function my_submit($form, &amp;$form_state) {
  if (count($form_state['input']) &gt; 0) {
    form_state_values_clean($form_state);
    $form_state['values']['profile']['field_first_name'] = $form_state['values']['field_first_name'];
    $form_state['values']['profile']['field_last_name'] = $form_state['values']['field_last_name'];
    $form_state['values']['profile']['field_groups'] = $form_state['values']['field_groups'];

    unset($form_state['values']['field_first_name']);
    unset($form_state['values']['field_last_name']);
    unset($form_state['values']['field_groups']);
  }
}


The important parts of the function above to notice are form_state_values_clean($form_state); then I access the values through $form_state['values'] array. 

Hope this helps someone else looking to do the same functionality.