Position update loop and checking collision
You can reduce some of the indent by checking for the negative condition and bailing out early. E.g.:

TouchPanelCapabilities touchCap = TouchPanel.GetCapabilities();
if (!touchCap.IsConnected) { return; }

TouchCollection touches = TouchPanel.GetState();
if (touches.Count == 0) { return; }

... your other code goes here ...

PositionTouch: Standard naming convention for local variables is camelCase. Also the names reads slightly weird - touchPosition would be better.
On every iteration through your ListDragObj method you check if (touches[touches.Count - 1].State == TouchLocationState.Released). You can store that in a local variable before the loop:

var touchReleased = touches[touches.Count - 1].State == TouchLocationState.Released;

for (...)
{
    ...
    if (touchReleased)

You don't actually use the index in this loop: for (int i = 0; i &lt; ListDragObj.Count(); i++). A more idiomatic C# way would be to use a foreach in this case:

foreach (var dragObject in ListDragObj)
{
    ...
}


And replace all uses of ListDragObj[i] with dragObject.
This:

for (int i = 0; i &lt; ListDragObj.Count(); i++)
{
    if (ListDragObj[i].Shape.Contains((int)PositionTouch.X, (int)PositionTouch.Y))
    {
        //Permit to avoid several Obj to moove in the same time
        if (!OnlyOneSelected(ListDragObj))


looks suspiciously like an O(n^2) algorithm - assuming that OnlyOneSelected iterates over the list and counts how many are selected. You should consider keeping track of how many items are selected in your class. This could be achieved by adding two methods:

void SelectedObject(DragObj dragObject) { ... }
void DeselectObject(DragObj dragObject) { ... }


which modify the selected property and adjust the selected count.
This

if (gm.Check_Tile((int)(PositionTouch.X / 10), (int)(PositionTouch.Y / 10))) 


looks like it computes a tile index from the position - assuming tiles are 10x10. If this assumption is correct then you should change Check_Tile to accept a position. It should then calculate the appropriate tile index by itself. Otherwise what happens if you ever want to change your tile size from 10x10 to something else? You would need to find every place in your code where you make this implicit assumption.