I'm using InfoPath and SP 2010. I'm using calculated fields which works well, but I wonder if there is a way to copy calculated field value to standard list field when form is submitted ?
Calculated value in Infopath is control, OOTB (out of the box), i.e. just visual container. Controls can be bound or not to data fields (and vice versa, it is possible to have data fields without there visual rendering). OOTB, when you drag'n'drop Calculated value control from ribbon in Infopath Designer (IPD), it
is not bound to doesn't create a data source/field bound to control.
- Update: In contrast, most (if not all) other controls when drag'n'dropped from ribbon of IPD are simultaneously creating bound to them data field.
As such, it is impossible to copy (or submit) controls to Sharepoint, only data in data fields. One creates data fields without controls in Fields pane (former Data Source pane in IP 2007) and then can bind or not them to controls.
OOTB (update: see Update3 below), there are no data field of type "calculated value" in Infopath though you can create a data field, then use rules or default value to calculate there whatever value you want.
It is also not clear what you mean under "standard list field"
or where your calculated values work well - in Infopath form or in Sharepoint.
Further on, I assumed that in Infopath form. It is the easiest way to put fields from Infopath form into Sharepoint.
Other way around, putting them first in Sharepoint, in most cases are redundant to the steps to be made in Infoapth Designer and frequently leading to type mismatches between Sharepoint and Infopath.
If you meant under it a sharepoint list then Infopath Sharepoint List Form data fields are directly (and rigidly) linked to its sharepoint list fields.
If you meant under it a sharepoint library then you should promote a data field during publishing your Infopath template in order to have it copied to a field in sharepoint library.
I've just checked that if to create a calculated column in a sharepoint list first, then creating its Sharepoint List Form by pressing Customize Form button (in Sharepoint Designer or in a browser), the corresponding to it field is created in Infopath form template as a data field without any corresponding control. So, it requires creating a corresponding control (by drag'n'dropping from or right-clicking and choosing options in Fields pane) to be visible to users.
This is funny. Unmodifiable CalculatedType appeared for a data field through creating a calculated column in sharepoint list (from sharepoint side), but it is impossible to attribute such type directly from Infopath.
Update4 (in response to comments): I wanted (but didn't) to reply to your first comment that you probably misunderstood something in my answer. It is better if a person comes to conclusions having poked himself. Then, I had a vague vanity that your happiness will somehow pass through unbroken.
First, do not use calculated value control for your purposes - its data source is expression but not data field. It is data fields that are linked to sharepoint list and possible to submit to it.
In Infopath 2007, 2010's calculated value control had more fortunate and less misleading name - Expression Box.
Second, if you decided to use Infopath, then try hard to use its OOTB features (behavior) without overriding them, they will be pain in the ass if you override them.