Use GroupBy.cumcount for counter, unpivot by DataFrame.melt, pivoting by DataFrame.pivot and last DataFrame.add_prefix:
df1 = (df.assign(g = df.groupby('Type').cumcount().add(1))
        .melt(['Type','g'], var_name='Params')
        .pivot(index=['Type','Params'], columns='g', values='value')
        .add_prefix('Value'))
print (df1)
g                 Value1  Value2
Type Params                     
A    Parameter 1       1       3
     Parameter 2       2      10
     Parameter 3       4       1
B    Parameter 1       2       4
     Parameter 2       5       8
     Parameter 3       9       2
Or DataFrame.set_index with DataFrame.stack and Series.unstack:
df1 = (df.set_index(['Type', df.groupby('Type').cumcount().add(1)])
        .stack()
        .unstack(level=1)
        .add_prefix('Value')
        .rename_axis(['Type','Params'])
        )
print (df1)
                  Value1  Value2
Type Params                     
A    Parameter 1       1       3
     Parameter 2       2      10
     Parameter 3       4       1
B    Parameter 1       2       4
     Parameter 2       5       8
     Parameter 3       9       2